概述
Express 简介
Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
Express Github 仓库
Express npm package
Express 中文网
express_api_4.x_chinese
说明:
- Express 框架建立在 node.js 内置的 http 模块上;
- 目前 expres 主流版本是 4.x,另外还有 5.x alpha 版本;
- Express 中文网,这个使用手册,只有导航是中文,内容仍是英文,需要中文文档的可参考 express_api_4.x_chinese (但更新不及时)
Express 安装
1. 创建应用目录
创建一个应用目录 express_demo,然后切换到该目录
$ mkdir express_demo
$ cd express_demo
2. npm init 初始化应用
使用 npm init 初始化应用,该命令将要求输入几个参数,如 应用名称、版本等等,你也可以全程"回车"接受默认值,然后会为应用生成一个 package.json 文件
$ npm init
npm init 命令需要的参数:
package name: (express_demo) //应用名称
version: (1.0.0) //应用版本
description: //应用描述
entry point: (index.js) //应用入口
test command: //测试命令
git repository: //应用在Github的地址
keywords: //关键字
author: Gavin Chen //应用作者
license: (ISC) //应用license
3. package文件内容
生成的 package.json 文件内容如下(package.json文件各字段作用及解释)
{
"name": "express_demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Gavin Chen",
"license": "ISC"
}
4. 安装 express
使用npm命令,安装 express
$ npm install express --save
- npm install express 命令,会将 express 安装到本地(存放在应用根目录下的 node_modules 目录内);
- –save 参数,指定 express 为当前应用的依赖包,记录在 package.json 的 dependencies 列表内(npm 5.0 版本 --save参数可以省略, npm --save参数说明);
Express 基本使用
1. 定义脚本 demo.js
var express = require('express'); //调用express模块
var app = express(); //创建一个express应用
// GET请求,访问路径为 /demo1
app.get('/demo1',function (req,res){
res.send("Express server return for demo1.");
})
// 定义服务的 hostname,port
app.listen(8877,'localhost',function (){
console.log('Express server listening at http://localhost:8877');
})
2. 启动脚本
在demo.js目录下,执行node命令如下:
$ node demo
3. 访问服务
通过web浏览器或其他工具访问接口:http://localhost:8877/demo1
实现四种类型接口
实现 GET、POST、PUT、DELETE 四种类型的接口
1、GET请求
GET 请求 示例代码
var express = require('express'); //调用express模块
var app = express(); //创建一个express应用
var api = express(); //再创建一个express应用
// 将 api子应用 挂载到 app 主应用
app.use('/rest',api);
var reqInfo = `req_info={
'protocol':req.protocol, //接口协议
'hostname':req.hostname, //服务器域名
'ip':req.ip, //服务器ip地址
'path':req.path, //获取请求路径,不包含baseUrl
'params':req.params, //获取路径参数
'query':req.query, //获取查询字符串
'baseUrl':req.baseUrl, //获取路由挂载