Node.js 无法在路由定义之前分配中间件
我需要为Node.js 无法在路由定义之前分配中间件,node.js,express,Node.js,Express,我需要为express js的app实例分配几个中间件,所以我做了: const express = require('express'); const app = express(); app.use((req, res) => { req.bot = 'just as test' }); 然后我: require('../routes/router')(app); 其中包括: module.exports = function (app) { app.get('/test
express js的app
实例分配几个中间件,所以我做了:
const express = require('express');
const app = express();
app.use((req, res) => { req.bot = 'just as test' });
然后我:
require('../routes/router')(app);
其中包括:
module.exports = function (app) {
app.get('/test', (req, res) => { res.redirect(process.env.APP_SITE); });
}
键入时:http://localhost:5000/test
我得到:
空响应
但这只会发生在上面的示例中,如果我移动app.use
afterrequire(“../routes/router”)(app)
所有操作都很好,但我不能使用中间件
为什么会发生这种情况?您需要调用中间件中的下一个路由处理程序,否则它将停止在那里
试一试
这将继续向实际处理程序app.get('/test'…
阅读更多
app.use((req, res, next) => {
req.bot = 'just as test'
next()
})