Express中间件
2024-08-17
常用中间件
Express 生态系统中有许多常用的中间件,它们可以帮助处理各种常见任务:
中间件 | 用途 | 安装命令 |
---|---|---|
express.json() | 解析 JSON 格式的请求体 | 内置于 Express |
express.urlencoded() | 解析 URL-encoded 格式的请求体 | 内置于 Express |
express.static() | 提供静态文件服务 | 内置于 Express |
cookie-parser | 解析 cookie | npm install cookie-parser |
morgan | HTTP 请求日志记录 | npm install morgan |
helmet | 通过设置各种 HTTP 头提高应用安全性 | npm install helmet |
cors | 启用跨源资源共享(CORS) | npm install cors |
body-parser | 解析请求体(Express 4.16.0+ 版本已内置) | npm install body-parser |
express-session | 管理会话 | npm install express-session |
compression | 压缩 HTTP 响应 | npm install compression |
multer | 处理 multipart/form-data(文件上传) | npm install multer |
passport | 身份认证 | npm install passport |
express-validator | 请求数据验证 | npm install express-validator |
使用示例:
javascript
const express = require('express');
const cookieParser = require('cookie-parser');
const morgan = require('morgan');
const helmet = require('helmet');
const cors = require('cors');
const session = require('express-session');
const compression = require('compression');
const app = express();
// 内置中间件
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(express.static('public'));
// 第三方中间件
app.use(cookieParser());
app.use(morgan('dev'));
app.use(helmet());
app.use(cors());
app.use(session({
secret: 'your secret key',
resave: false,
saveUninitialized: true
}));
app.use(compression());
// 路由和其他应用逻辑...
app.listen(3000, () => console.log('Server running on port 3000'));
这些中间件可以帮助你处理很多常见的 Web 应用需求,如安全性、日志记录、会话管理等。根据你的具体项目需求,你可能需要使用其中的一部分或全部。
记住,中间件的顺序很重要。某些中间件(如 helmet
)应该尽早使用,而其他的(如路由处理)则应该在后面使用。