概述
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, //获取路由挂载
复制