如何搭建 Express 网站

2018-10-18 17:54:17 浏览数 (1)

Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。nenggou 使用您提议的各种 HTTP 实用程序方法和中间件,快速方便地创建强大的 API。Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。

这篇教程会指导您使用express框架快速地生成站点,使用模板,创建基本录用,并将其部署到Internet上。要做到这些,您需要拥有一个云服务器CVM以及一个站点域名。没有云服务器的同学可以到腾讯云官网点击产品中的云服务器,进行购买。您也可以到这里免费领取一台腾讯云服务器。腾讯云现在有域名金秋盛惠,最低仅需1元起。也可以在购买云服务器时进行加购减免,比正常价格要便宜50%哦。

搭建Node.js和npm环境

在开始我们的教程之前,您需要安装Node.js以及npm开发环境。您可以点击腾讯云实验室的这篇Express快速入门来进行查看,同时还可以在实验室环境中进行模拟,可以帮助您更好的掌握相关方法。当您完成这篇教程后,您的Express环境及应用应该已经搭建好了。

创建Express站点

安装了Express之后,我们可以创建一个快速应用程序。

代码语言:javascript复制
express -c stylus express_example

您应该看到以下输出:

代码语言:javascript复制
create : express_example
create : express_example/package.json
create : express_example/app.js
create : express_example/public
create : express_example/routes
create : express_example/routes/index.js
create : express_example/routes/users.js
create : express_example/views
create : express_example/views/index.jade
create : express_example/views/layout.jade
create : express_example/views/error.jade
create : express_example/bin
create : express_example/bin/www
create : express_example/public/javascripts
create : express_example/public/images
create : express_example/public/stylesheets
create : express_example/public/stylesheets/style.styl
​
install dependencies:
 $ cd express_example && npm install
​
run the app:
 $ DEBUG=express_example:* npm start

根据说明,您需要安装依赖项,因此请执行此操作

代码语言:javascript复制
cd express_example && npm install

这将安装包,你会看到很多输出。完成后,您可以启动您的应用程序。

启动应用程序

这就是你需要的所有设置。现在您可以启动应用程序了。如果您使用的是OSX或Linux,请使用以下命令。

代码语言:javascript复制
DEBUG=express_example:* npm start

如果您在Windows上,请使用以下命令。

代码语言:javascript复制
set DEBUG=express_example:* & npm start

您应该看到Express server listening on port 3000,如果您打开 http://127.0.0.1:3000,您将看到默认的Express页面。

使用Git

Git是一个版本控制系统,在Node.js生态系统中大量使用,特别是Github。我们将使用git对我们的网站进行版本化并发布它。如果您的Express服务器仍在运行,请按CTRL C来停止它。

代码语言:javascript复制
git init
echo 'node_modules' > .gitignore
git add .
git commit -m 'initial commit'

开发Node.js站点

通常,当您开发Node.js站点时,每次进行更改时都需要重新启动应用程序。Nodemon会在每次更改时重新加载您的应用程序,因此您无需重新启动它。接下来我们安装并运行它:

代码语言:javascript复制
npm install -g nodemon

然后用应用程序启动:

代码语言:javascript复制
DEBUG=express_example:* nodemon

Nodemon会自动查找项目设置以查找相应的文件并设置为启动服务器。如果这不起作用,请尝试以下命令:

代码语言:javascript复制
DEBUG=express_example nodemon npm start

使用nodemon意味着每次进行更改时都不必重新启动应用程序。有关nodemon的更多信息,请参阅自述文件。

Express中的HTML

Express对于您使用的模板语言是不可知的。在示例中,我们使用jade来设置布局模板。

代码语言:javascript复制
doctype
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    link(rel='stylesheet', href='/stylesheets/chunkfive-fontface.css')
  body
    header
      nav
        ul
          li 
            a(href="/") Home
          li 
            a(href="/about") About
          li 
            a(href="/contact") Contact
    section#wrapper
        block content
        footer 
          section.css-table
            section.four-column
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet

将此文件另存为/views/layout.jade覆盖生成器创建的文件。这是我们可以重用的常用模板。该行block content从其使用的页面中提取内容。Express还支持给模板传递变量。在这种情况下,我们传递title变量。更多信息可以查阅Express文档。

Express中的CSS

对于此示例我使用的是Stylus,您可以使用您喜欢的CSS语言。其支持变量,mixins,函数等。这是我们的样式表中的一个例子:

代码语言:javascript复制
body
  font 62.5%/1.5  Helvetica, Arial, "Lucida Grande", "Lucida Sans", Tahoma, Verdana, sans-serif
  text-align center
  background #000
​
#wrapper
  width 920px
  text-align left 
  margin-left auto 
  margin-right auto
  background #fff
  padding 20px
  border-bottom-radius(15px)

在Express中路由

Sinatra路由允许您设置RESTful路由。

在这个例子中,我们在routes / index.js中设置了三个路由:

代码语言:javascript复制
var express = require('express');
var router = express.Router();
​
router.get('/', function(req, res){
  res.render('index', {
    title: 'Home'
  });
});
​
router.get('/about', function(req, res){
  res.render('about', {
    title: 'About'
  });
});
​
router.get('/contact', function(req, res){
  res.render('contact', {
    title: 'Contact'
  });
});
​
module.exports = router;

有关更多信息,请参阅Express文档。

发布您的网站

本文介绍了如何使用Node.js和Express创建一个非常基本的站点。它介绍了Node.js生态系统中的一些内容,并向您展示了如何部署应用程序。最后一步,我们需要在云服务器上托管它。我们可以使用腾讯云服务器来对其进行托管,可以点击这里进行免费的服务器资源申请。如果您想长期保持您的网站的话,您也可以点击这里购买腾讯云的服务器,其可以提供稳定,安全,快速的云服务,并且可以对服务器上的内容进行定期快照,保护您的网站数据不会丢失。

0 人点赞