私は2つのルートを持っています。グローバル変数route
の中の最初のルート。開始ミドルウェアでは、2番目のルートもそのグローバル変数に戻ります。ミドルウェアの実行順序は?
var route = require('./routes/first');
app.use(function(req, res, next) {
route = require('./routes/second');
next();
});
次に実行されると、まだ最初のルートがあります。 なぜ私の最初の中道は前に始まらなかったのですか?
// route contain module from './routes/first'
app.use('/api', route);
しかし、私は、コールバックの異なるデザインを使用している場合、第2の経路を取得することが可能である...
// route contain module from './routes/second'
app.use('/api', function (req, res, next) {
return route(req, res, next);
});
./routes/first.js
var express = require('express');
var route = express.Router();
route.get('/', function(req, res) {
res.send('First route');
});
module.exports = route;
./routes/second.js
var express = require('express');
var route = express.Router();
route.get('/', function(req, res) {
res.send('Second route');
});
module.exports = route;
この行の前にコンソールログを置くことはできますか? 'route = require( './ routes/second');'? – kawadhiya21
私はExpressアプリケーションでミドルウェアの順序の重要性に関する記事を書いています。ここに記事へのリンクがあります:https://www.nodexplained.com/blog-detail/2018/01/11/importance-of-middleware-order-in-expressjs-application –