安装 Express

2018-01-26 15:26:47
admin
1748
最后编辑:admin 于 2018-01-26 15:44:16

学习环境

Node.js : 8.9.4

Express : 4.11.2

mongodb : 2.2.34

MongoDB数据库 : 3.4

快速开始

安装 Express

express 是 Node.js 上最流行的 Web 开发框架,正如他的名字一样,使用它我们可以快速的开发一个 Web 应用。我们用 express 来搭建我们的博客,打开命令行,输入:

$ npm install -g express-generator

安装 express 命令行工具,使用它我们可以初始化一个 express 项目。

本项目本地安装express-generator,安装版本如下

cnpm install express-generator@4.11.0


express-generator详细使用请参考:http://www.ybao.org/book/express/5408.html

新建一个工程

在命令行中输入:

$ express -e blog
$ cd blog && npm install


-h 选项可以列出所有可用的命令行选项:

$ express -h

  Usage: express [options] [dir]

  Options:

    -h, --help          output usage information
    -V, --version       output the version number
    -e, --ejs           add ejs engine support (defaults to jade)
        --hbs           add handlebars engine support
    -H, --hogan         add hogan.js engine support
    -c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
        --git           add .gitignore
    -f, --force         force on non-empty directory



初始化一个 express 项目并安装所需模块,如下图所示:

然后运行:

$ DEBUG=blog node ./bin/www


在启动应用时,设置 DEBUG 环境变量为 express:*,可以查看 Express 中用到的所有内部日志。

$ DEBUG=express:* node index.js

在 Windows 系统里,使用如下的命令。

> set DEBUG=express:* & node ./bin/www

在由 express 应用生成器 生成的默认应用中执行,会打印出如下信息:

$ DEBUG=express:* node ./bin/www
  express:router:route new / +0ms
..................

设置 DEBUG 的值为 express:router,只查看路由部分的日志;设置 DEBUG 的值为 express:application,只查看应用部分的日志,依此类推。

通过 express 生成应用

通过 express 命令行生成的应用也使用了 debug 模块,它的命名空间限制在应用中。

如果您通过下述命令生成应用:

$ express sample-app

则可通过下述命令打开调试信息:

$ DEBUG=sample-app node ./bin/www

可通过逗号隔开的名字列表来指定多个调试命名空间,如下所示:

$ DEBUG=http,mail,express:* node index.js

在 Windows 系统里,使用如下的命令。

> set DEBUG=blog & node ./bin/www

或使用如下命令:

> set DEBUG=blog & npm start



启动项目,在浏览器里访问 localhost:3000,如下图所示:

至此,我们用 express 初始化了一个工程项目,并指定使用 ejs 模板引擎
  • 在线客服
  • 关注微信
  • 联系电话
    • 欢迎咨询
    • 欢迎加入QQ群 303257430
  • 公众号:源宝网络
    • 联系电话及微信号 18902328227