Tôi đang học framework React và Express thông qua các bài tập tại NodeSchool.io.
Tôi muốn lưu trữ tất cả các tệp bài tập trong một ứng dụng có nhiều trang, như
索引
Chỉ số 2
Chỉ số 3
Chỉ số 4
....
localhost:3000/indexN
Nhưng tôi không thể đặt định tuyến cho các URL đó. Kho dự án:URL kho lưu trữ công khai Git
Đã thử nhiều phương pháp khác nhau nhưng không thể giải quyết được vấn đề.
Cách định cấu hình các tuyến động với express.js
app.use("/indexn*", function(req, res) {
res.render("indexn", "");
});
Giải pháp loại API hoạt động như sau, nhưng điều đó cũng không giúp ích gì vì đó là URL được tham số hóa
// http://localhost:3000/index/2
app.get('/index/:id', function(req, res){
res.render('index' + req.params.id, "");
});
Tôi cũng đã thử nhiều mẫu biểu thức chính quy khác nhau trong hàm trên, chẳng hạn như
(chỉ mục)n, chỉ mục:n*
Nhưng việc biên dịch không thành công.
Cảm ơn sự giúp đỡ của bạn.
Bạn có thể sử dụng biểu thức chính quy với cú pháp đúng (không có dấu ngoặc kép, nhưng sử dụng /dấu phân cách/
):
app.use(/\/index.*/, function(req, res) {
// mã số
});
Điều này sẽ khớp với bất kỳ đường dẫn nào bắt đầu bằng "/index". Để chỉ khớp "/index" theo sau là số n, hãy sử dụng mẫu sau:/\/index[0-9]*/
Bạn cũng có thể sử dụng các mẫu giống như quả cầu để khớp với đường dẫn tệp:'/chỉ mục*'
.
Bạn có thể kiểm tra bằng cách yêu cầu
Đối tượng xử lý yêu cầu dựa trên đường dẫn thực tế của yêu cầu.
app.use('/index*', function(req, res) {
res.render(req.origenUrl);
});
Cf. tài liệu app.use()
Tôi là một lập trình viên xuất sắc, rất giỏi!