Javascript 在node express应用程序中设置常规路由。(url/index、url/index2、url/index3…)

Javascript 在node express应用程序中设置常规路由。(url/index、url/index2、url/index3…),javascript,node.js,regex,reactjs,express,Javascript,Node.js,Regex,Reactjs,Express,我正在从NodeSchool.io练习中学习react和express框架。 我想将所有练习文件存储在一个应用程序中,包含多个页面,如 索引 index2 index3 index4 .... localhost:3000/indexN 但我无法设置此类URL的路由。 项目回购: 尝试了各种方法,但无法解决问题。 API解决方案的工作原理如下,但这也没有帮助,因为它的参数化URL // http://localhost:3000/index/2 app.get('/index/:id'

我正在从NodeSchool.io练习中学习react和express框架。
我想将所有练习文件存储在一个应用程序中,包含多个页面,如

索引
index2
index3
index4
....

localhost:3000/indexN

但我无法设置此类URL的路由。 项目回购:

尝试了各种方法,但无法解决问题。

API解决方案的工作原理如下,但这也没有帮助,因为它的参数化URL

 // http://localhost:3000/index/2
 app.get('/index/:id', function(req , res){
     res.render('index' + req.params.id, "");
 });
我还在上述函数中尝试了各种正则表达式模式,如
(索引)n,索引:n*
但编译失败了


感谢您的帮助。

您可以按照正确的语法使用正则表达式(不带引号,但使用
/delimiters/
):

这将匹配以“/index”开头的任何路径。要仅匹配后跟数字n的“/index”,请使用以下模式:
/\/index[0-9]*/

您还可以使用类似全局的模式来匹配文件路径:
“/index*”

通过选中
req
对象,可以根据请求的实际路径处理请求

app.use('/index*', function(req, res) {
  res.render(req.originalUrl);
});

cf.

谢谢您的回答,但我不知道如何呈现/重定向页面?我试着使用res.render(“indexn”,”)但它显示错误。您好,您可以使用req检查请求的实际路径,以便根据它呈现需要呈现的内容。如果您需要更多代码块,请告诉我。(编辑)我刚刚用更多细节重新编辑了我的答案。我不确定这是否是达到目的的正确方法。但下面的代码现在可以正常工作,并且可以正确重定向。我检查了请求baseUrl,并从字符串中删除了前面的斜杠以获得准确的页面URL,如下所示:
app.use('/index*',function(req,res){console.log(req.baseUrl);res.render(req.baseUrl.replace('/','');})
app.use(/\/index.*/, function(req, res) {
  // code
});
app.use('/index*', function(req, res) {
  res.render(req.originalUrl);
});