Ich möchte die Reihenfolge Vorrang in express.js verstehen. Zum Beispiel, wie unten CodeReihenfolge der Router-Priorität in express.js
var routes = require('./routes/index');
var users = require('./routes/users');
var api = require('./routes/api');
app.use('/api', api);
app.use('/users', users);
app.use('/:name', function(req, res, next) {
console.log('from app.js name:', req.params.name);
res.render('index', {
title: req.params.name
});
}, routes);
app.use('/', function(req, res, next) {
res.render('index', {
title: 'MainPage'
});
});
Wenn eine Anfrage vom Client localhost kommen: 3000/api/abc und localhost: 3000/user/abc, die Antwort von api und Anwendermodul. Aber wenn ich eine Anfrage wie localhost: 3000/myName/xyz mache, gibt das App-Modul eine Antwort zurück. Dieses Verhalten lässt mich über den Vorrang von Expressjs und die richtige Reihenfolge von Routermodulen nachdenken. Warum Router nicht verwechseln zwischen den Aktionen "api", "users" und Parameter ": name". Bitte lassen Sie mich klar verstehen, wie ausdrücklich und was Vorrang hat.
Dank zu viel @Laxmikant Dange aber wenn ich nichts tun, in api Modul oder Benutzer-Module, warum Die App.use ("/", func() {}) fungiert als Server ...?. Es antwortet die MainPage .. ?? – hoanganh17b
Wo finde ich in der ExpressJS-Dokumentation Informationen über die Vorrangregeln von use() - und get() - Routen. –
@hoan, weil es kein ': name' gibt, also stimmt es nicht mit' /: name' überein –