NodeJS w / Express消除错误:无法GET / xyz

时间:2014-07-22 01:20:58

标签: node.js express routing routes

我的问题是,如果用户输入到地址栏www.example.com/xyz,则用户收到错误无法获取/ xyz。我的问题是如何在" /"。

之后捕获所有url params

我认为解决方案可能有这样的东西。

app.get('CATCH ALL URLS except /', function (req, res){
     res.sendfile(__dirname + '/index.html');
});

2 个答案:

答案 0 :(得分:1)

只需定义两条路线,第一条为/,第二条为其余路线:

app.get('/', function (req, res) {
    // Do something for /
});

app.get('*', function (req, res) {
    res.sendfile(__dirname + '/index.html');
});

答案 1 :(得分:1)

这就是我为express设置路由的方法。

app.get('/', routes.site.index);

app.get('/terms', routes.terms.list);

app.post('/terms', routes.terms.create);

app.get('/terms/:id', routes.terms.show);
app.post('/terms/:id', routes.terms.edit);
app.del('/terms/:id', routes.terms.del);

/*Handling wrong urls*/
app.get("/*", routes.site.wrong);

:id将在您的方法中以req.params.id的形式提供。