Express JS重定向到默认页面而不是"无法获取"

Sri*_*hsa 11 node.js express

我正在使用快速JS,我有一组路由,我已经定义如下

require('./moduleA/routes')(app);
require('./moduleB/routes')(app);
Run Code Online (Sandbox Code Playgroud)

等等.如果我尝试访问我在上述路线中未定义的任何路线,请说

http://localhost:3001/test
Run Code Online (Sandbox Code Playgroud)

它说

Cannot GET /test/
Run Code Online (Sandbox Code Playgroud)

但不是这样,我想重定向到我的应用程序的索引页面.我希望这个重定向发生在所有未定义的路由上.我怎样才能做到这一点?

Ole*_*leg 27

尝试添加以下路由作为最后一个路由:

app.use(function(req, res) {
    res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)

编辑:

经过一番研究后,我得出结论,最好使用app.get而不是app.use:

app.get('*', function(req, res) {
    res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)

因为app.use处理所有HTTP方法(GET,POST等),您可能不希望将未定义的POST请求重定向到索引页.