Skip to content

Express中间件

2024-08-17

常用中间件

Express 生态系统中有许多常用的中间件,它们可以帮助处理各种常见任务:

中间件用途安装命令
express.json()解析 JSON 格式的请求体内置于 Express
express.urlencoded()解析 URL-encoded 格式的请求体内置于 Express
express.static()提供静态文件服务内置于 Express
cookie-parser解析 cookienpm install cookie-parser
morganHTTP 请求日志记录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)应该尽早使用,而其他的(如路由处理)则应该在后面使用。

花海相伴