Tôi muốn hiểu thứ tự ưu tiên trong express.js. Ví dụ, như mã dưới đâyThứ tự ưu tiên bộ định tuyến trong 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'
});
});
Nếu một yêu cầu đến từ localhost khách hàng: 3000/api/abc và localhost: 3000/user/abc, phản ứng từ api và sử dụng mô-đun. Nhưng nếu tôi thực hiện một yêu cầu như localhost: 3000/myName/xyz, mô-đun ứng dụng sẽ trả về một phản hồi. Hành vi này cho phép tôi quan tâm về ưu tiên của expressjs là gì và thứ tự đúng cho các mô-đun router. Tại sao bộ định tuyến không gây nhầm lẫn giữa các hành động "api", "người dùng" và thông số ": tên". Xin vui lòng cho tôi hiểu rõ ràng làm thế nào thể hiện và những gì là ưu tiên.
Thank quá nhiều @Laxmikant Dange nhưng nếu tôi không làm gì cả trong mô-đun api hoặc người sử dụng mô-đun, tại sao app.use ("/", func() {}) hoạt động như máy chủ ...?. Nó phản hồi MainPage .. ?? – hoanganh17b
Trong tài liệu ExpressJS, tôi có thể tìm thông tin về quy tắc ưu tiên sử dụng() và nhận() các tuyến đường. –
@hoan vì không có ': name' nên nó không khớp với' /: name' –