express搭建使用

131 阅读1分钟

安装

首先假定你已经安装了 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 目录中的所有文件了

使用中间件

  1. body-parser body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。

  2. express-ip-filter ip过滤器

  3. morgan 、 winston 、 express-winston 日志记录

  4. cookie-parser和cookie-session 解析客户端传过来的cookie,cookie-session中间件用来建立基于cookie的会话session