nodejs中间件
在Node.js中,中间件是一种组织和重用代码的方式,通常用于Web开发框架,如Express.js。中间件函数可以访问请求对象(request object)、响应对象(response object)和next函数,next函数是用来执行下一个中间件的。
以下是一个简单的Node.js中间件示例,使用Express.js框架:
const express = require('express');
const app = express();
// 简单的日志中间件
const logMiddleware = (req, res, next) => {
console.log('有请求进入中间件');
next();
};
// 简单的校验中间件
const checkAuthMiddleware = (req, res, next) => {
if (req.headers.authorization === 'secret-key') {
next();
} else {
res.status(403).send('无效的认证');
}
};
app.use(logMiddleware);
app.use(checkAuthMiddleware);
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
在这个例子中,我们定义了两个中间件:logMiddleware
和checkAuthMiddleware
。logMiddleware
仅记录请求并继续执行后续中间件或路由处理。checkAuthMiddleware
则检查请求中的认证信息,如果认证失败,则返回403状态码。
中间件可以附加到特定路由或全局,通过app.use
、app.get
、app.post
等方法。在这个例子中,logMiddleware
被附加到了全局,而checkAuthMiddleware
只针对根路由('/')。
评论已关闭