安装
首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。
$ mkdir myapp
$ cd myapp
npm安装express
$ npm install express --save
vim server.js
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
$ node app.js
Express 应用程序生成器
通过应用生成器工具 express-generator 可以快速创建一个应用的骨架。
你可以通过 npx (包含在 Node.js 8.2.0 及更高版本中)命令来运行 Express 应用程序生成器。
$ npx express-generator
然后安装所有依赖包:
$ cd myapp
$ npm install
在 MacOS 或 Linux 中,通过如下命令启动此应用:
$ DEBUG=myapp:* npm start
在 Windows 命令行中,使用如下命令:
> set DEBUG=myapp:* & npm start
在 Windows 的 PowerShell 中,使用如下命令:
PS> $env:DEBUG='myapp:*'; npm start
然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了。
基本路由
//解决跨域
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "*");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
// res.header("Content-Type", "text/html; charset=utf-8");
next();
});
app.get('/', function (req, res) {
res.send('这里是首页')
// res.json(eventData)
})
app.post('/api/apt/PushReport', function (req, res) {
res.json(eventData) // 返回json
})
// 事件列表数据
var eventData = {
"status": "SUCCESS", "message": "", "data":
{ "reportID": "1", "create_time": "1589769595" }
}
利用 Express 托管静态文件
为了提供诸如图像、CSS 文件和 JavaScript 文件之类的静态文件,请使用 Express 中的 express.static 内置中间件函数。
例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:
app.use(express.static('public'))
现在,你就可以访问 public 目录中的所有文件了
使用中间件
-
body-parser body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。
-
express-ip-filter ip过滤器
-
morgan 、 winston 、 express-winston 日志记录
-
cookie-parser和cookie-session 解析客户端传过来的cookie,cookie-session中间件用来建立基于cookie的会话session