厦门网站建设报价,如何网页设计与制作,长春建设集团股份有限公司网站,个人网站转企业在使用 Express.js 开发应用程序时#xff0c;中间件#xff08;Middleware#xff09;是处理请求和响应的关键组件。它们可以执行各种任务#xff0c;如解析请求体、添加HTTP头部、记录日志等。以下是一些常用的中间件#xff1a;
body-parser 用于解析传入的请求体。它…在使用 Express.js 开发应用程序时中间件Middleware是处理请求和响应的关键组件。它们可以执行各种任务如解析请求体、添加HTTP头部、记录日志等。以下是一些常用的中间件
body-parser 用于解析传入的请求体。它对JSON、原始文本、URL编码数据和多部分表单数据有效。注意自Express 4.16.0起express.json() 和 express.urlencoded() 已经内置支持解析JSON和URL编码的数据。 cookie-parser 解析Cookie头部并填充req.cookies对象。结合signed cookies功能可以通过设置密钥来签名cookies。 cors 提供一个简单的CORS中间件允许你轻松地配置跨域资源共享策略。 express-session 管理会话信息通过存储在服务器端的状态为无状态HTTP协议增加记忆能力。经常与会话存储库一起使用比如connect-mongo或connect-redis以持久化会话数据。 morgan HTTP请求日志记录器中间件支持多种格式的日志输出包括dev、combined等。 helmet 帮助设置一些安全相关的HTTP头提供一套简单的防护措施对抗常见的网络攻击。 compression 对所有响应进行Gzip压缩减小传输大小提高页面加载速度。 method-override 允许客户端发送PUT、DELETE等HTTP方法即使是在只支持GET和POST的浏览器上。 multer 处理multipart/form-data类型的文件上传非常适合处理文件上传需求的应用程序。 errorhandler 在开发环境中友好地显示错误信息通常不应该在生产环境中启用。 serve-static 用来服务静态文件例如图片、CSS文件、JavaScript文件等。
使用示例
const express require(express);
const bodyParser require(body-parser);
const cookieParser require(cookie-parser);
const cors require(cors);
const session require(express-session);
const morgan require(morgan);
const helmet require(helmet);
const compression require(compression);
const methodOverride require(method-override);
const multer require(multer);const app express();// 中间件应用
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.use(cookieParser());
app.use(cors());
app.use(session({ secret: your-secret-key, resave: false, saveUninitialized: true }));
app.use(morgan(dev));
app.use(helmet());
app.use(compression());
app.use(methodOverride(_method));
app.use(multer().single(file)); // or any other configuration you need for multer// ... routes and other middleware ...app.listen(3000, () console.log(Server running on port 3000));