Express: Fast, unopinionated, minimalist web framework for Node.js(Express是一个快速,高度包容,极简的Node.js框架)。事实上,只要对Node.js稍有了解,基本上就可以入门Express了,本人就是对Node.js有些了解之后就去学习了一下Express,自身感觉正如官方介绍那样。
1. 入门
使用Express之前确保你的机器上安装有Node.js环境。
创建工程目录,并进入到工程目录:
1 | $ mkdir express |
使用
npm init
命令为应用程序创建package.json
文件:
1 | $ npm init |
输入npm init
命令时,除了entry point: (index.js)
选项修改index.js
为app.js
(入口文件)之外(当然也可以使用默认值),其余的选项可以直接回车选择默认值。
此时,工程中会生成一个package.json
文件,打开看一下,基本长这样:1
2
3
4
5
6
7
8
9
10
11
12
13
14{
"name": "express",
"version": "1.0.0",
"description": "start express",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"express"
],
"author": "yvshare.cn",
"license": "ISC"
}
在当前目录中安装
Express
,然后将其保存在依赖项列表中。例如:
1 | $ npm install express --save |
要暂时安装Express
而不将其添加到依赖项列表中,请省略--save
选项:1
$ npm install express
采用 --save 选项安装的 Node 模块已添加到 package.json 文件中的 dependencies 列表。 今后运行 app 目录中的 npm install 将自动安装依赖项列表中的模块。
在1.1步骤的基础上,开始创建第一个程序,创建一个
app.js
文件(对应npm init
时的entry point: (app.js)
),并填入代码:
1 | // app.js |
应用程序会启动服务器,并在端口 3000 上侦听连接。此应用程序以“Hello World!”响应针对根 URL (/) 或路由的请求。对于其他所有路径,它将以 404 Not Found 进行响应。req(请求)和 res(响应)与 Node 提供的对象完全相同,所以您可以在不涉及 Express 的情况下调用 req.pipe()、req.on('data', callback) 和要执行的其他任何函数。
使用以下命令运行应用程序:
1 | $ node app.js |
然后,在浏览器中输入 http://localhost:3000/ 以查看输出。
Express 生成器的作用就像是为完整的应用程序建立一个“脚手架”,包含各种用途的 JavaScript 文件、Jade 模板和子目录。
使用以下命令安装 express:
1 | $ npm install express-generator -g |
使用 -h 选项显示命令选项:
1 | $ express -h |
例如,以下语句在当前工作目录中创建名为
myapp
的Express
应用程序:
1 | $ express --view=pug myapp |
进入到
myapp
目录,然后安装依赖项:
1 | $ npm install |
在 MacOS 或 Linux 上,采用以下命令运行此应用程序:
1 | $ DEBUG=myapp:* npm start |
在 Windows 上,使用以下命令:
1 | set DEBUG=myapp:* & npm start |
或者直接1
$ npm start
然后在浏览器中输入 http://localhost:3000/ 以访问此应用程序。
生成的应用程序具有以下目录结构:
1 | . |
生成器创建的应用程序结构只是构造 Express 应用程序的众多方法之一。请随意使用此结构或者对其进行修改以最大程度满足自己的需求。