Вы не должны переписывать все URL.req.url
наследуется от модуля HTTP узла ( отметьте здесь ), который представляет относительный путь.
На основе вашего кода решение может быть:
var express = require('express');
var app = express();
app.get('/', function (req, res, next) {
req.url = req.originalUrl + 'nxt';
console.log('middleware1');
next();
});
app.use('/nxt', function (req, res, next) {
console.log('middleware2');
next();
});
app.use('/nxt', function (req, res, next) {
console.log('middleware3');
next();
});
app.listen(3000);
Обратите внимание, что, поскольку они имеют одинаковый путь, вы можете связать его следующим образом:
app.use('/nxt',function (req, res, next) {
console.log('middleware2');
next();
}, function (req, res, next) {
console.log('middleware3');
next();
});
Обратите внимание, что обычно это не так.Я думаю, что он должен отправить ответ перенаправления клиенту (res.redirect(req.originalUrl + 'nxt')
), который сделает новый запрос к /nxt
.