【Node.js】中间件
在Node.js中,中间件是一种组织和执行HTTP请求处理的方法。它们可以用于日志记录、身份验证、会话处理、缓存、数据库操作等。
以下是一个简单的中间件示例,使用了express
框架:
const express = require('express');
const app = express();
// 简单的日志中间件
const logMiddleware = (req, res, next) => {
console.log(`${new Date().toLocaleString()}: 请求路径 - ${req.path}`);
next();
};
// 简单的认证中间件
const authMiddleware = (req, res, next) => {
if (req.headers.authorization === 'SecretToken') {
next();
} else {
res.status(401).send('未授权');
}
};
// 应用中间件
app.use(logMiddleware);
app.use(authMiddleware);
// 路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000/');
});
在这个例子中,我们定义了两个中间件:logMiddleware
和authMiddleware
。logMiddleware
记录请求的时间和路径,然后调用next()
继续执行后续的中间件或路由处理。authMiddleware
检查请求是否包含正确的认证令牌,如果是,则调用next()
继续执行;如果不是,则返回未授权的响应。
在实际应用中,中间件可以根据需要进行复杂的逻辑处理,并且可以用来处理错误、重定向、修改请求和响应等。
评论已关闭