Node.js 如何在ExpressJS app.use()中正确使用正则表达式

Node.js 如何在ExpressJS app.use()中正确使用正则表达式,node.js,regex,express,server,Node.js,Regex,Express,Server,如何在ap.use()中使用正则表达式 若我在浏览器(localhost)中运行它,当地址包含字母“a”时,它应该提供静态文件。但实际上,它属于重定向unmatched()函数。如果我把/a/改成“/a”,它对address/a有效。为什么它对我的正则表达式不起作用 谢谢 来自: root参数指定为静态资产提供服务的根目录。该函数通过将req.url与提供的根目录相结合来确定要服务的文件。当找不到文件时,它不会发送404响应,而是调用next()以转到下一个中间件,从而允许堆叠和回退 用例: a

如何在ap.use()中使用正则表达式

若我在浏览器(localhost)中运行它,当地址包含字母“a”时,它应该提供静态文件。但实际上,它属于重定向unmatched()函数。如果我把/a/改成“/a”,它对address/a有效。为什么它对我的正则表达式不起作用

谢谢

来自:

root参数指定为静态资产提供服务的根目录。该函数通过将req.url与提供的根目录相结合来确定要服务的文件。当找不到文件时,它不会发送404响应,而是调用next()以转到下一个中间件,从而允许堆叠和回退

用例:

app.use(/\/[a]/gi, express.static(__dirname));
注意如果路径以“a”等开头,我不确定“a”应该在哪里,有多少个。上面根路径中的正则表达式将匹配路径中的尽可能多的“a”,而不考虑大小写

  • e、 g.127.001.123/a->匹配
  • e、 g.127.001.234/aaaa->匹配
  • e、 g 127.001.101/benga->匹配
  • 此外,从我所附的链接中,您可以推断,如果在评估路径时出现错误,则代码“> Express(STATIC))/代码>内部调用NEXT(),因此您可能需要考虑某种机制来捕获错误,并将错误的正确表示返回给客户端(404或某物)。

    < P>从:

    root参数指定为静态资产提供服务的根目录。该函数通过将req.url与提供的根目录相结合来确定要服务的文件。当找不到文件时,它不会发送404响应,而是调用next()以转到下一个中间件,从而允许堆叠和回退

    用例:

    app.use(/\/[a]/gi, express.static(__dirname));
    
    注意如果路径以“a”等开头,我不确定“a”应该在哪里,有多少个。上面根路径中的正则表达式将匹配路径中的尽可能多的“a”,而不考虑大小写

  • e、 g.127.001.123/a->匹配
  • e、 g.127.001.234/aaaa->匹配
  • e、 g 127.001.101/benga->匹配

  • 此外,从我所附的链接中,您可以推断,如果在评估路径时存在错误,则在内部调用NeXT()的代码> > Express(STATICE)/代码>,因此您可能需要考虑某种机制来捕获错误,并将该错误的正确表示返回给客户端(404或某物)。什么地址?假设它只适用于app.use()中的“/a”参数,但不适用于regex/a/(根据ExpressJs文档,它实际上应该适用于…)您对所提供的建议/答案有任何运气吗?当地址包含a时,什么地址?假设它只适用于app.use()中的“/a”参数,但不适用于regex/a/(根据ExpressJs文档,这实际上应该是可行的…)您对提供的建议/答案有任何运气吗?