Я хотел бы понять приоритет заказа в 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'
});
});
Если запрос поступает от клиента localhost: 3000/api/abc и localhost: 3000/user/abc, ответ от api и пользовательского модуля. Но если я сделаю запрос как localhost: 3000/myName/xyz, модуль приложения вернет ответ. Такое поведение позволяет мне относиться к тому, что является приоритетом expressjs и правильному порядку для модулей маршрутизатора. Почему маршрутизаторы не путают между действиями "api", "users" и параметром ": name". Пожалуйста, дайте мне понять, как выражается и что является преимуществом.