我想要通过以下网址访问我的文件:
http://127.0.0.1:400/db/signal/test.xlsx
我的Express应用程序中有以下GET处理程序:
app.get('/db/signal/', function (req, res) {
// handle route
});
当我浏览http://127.0.0.1:400/db/signal/
时,执行处理程序。但是当我浏览到http://127.0.0.1:400/db/signal/test.xlsx
时,处理程序无法执行。为什么呢?
我正在使用Express版本4。
感谢您的回复。
答案 0 :(得分:2)
Express使用path-to-regexp来匹配路径。如果您查看API,您会发现字符串'/db/signal/'
只会匹配完全该路径;它不会匹配任何子路径。要匹配该路径和任何子路径,只需添加一个星号,如下所示:
app.get('/db/signal/*', (req, res) => { ... });
您可以在Express routing guide中看到更多匹配模式的示例。