我想在Node Express中設置可擴展的路由。可伸縮節點快速路由
我明白如何設置工作路線......這是我努力的失敗/不匹配。更具體地說,我正在努力處理404錯誤。
這是我有...
app.get('/:folder',function(req,res) {
var path = 'site/' + req.params.folder + '/index.jade';
res.render(path);
});
app.get('/:folder/:topic',function(req,res) {
var path = 'site/' + req.params.folder + '/' + req.params.topic;
res.render(path);
});
app.use(function(req, res, next){
res.status(404).render('site/404.jade');
});
面臨的挑戰是,:文件夾:主題將匹配任何使404將永遠不會觸發。我不想硬編碼我們所有的文件夾和主題名稱。那麼,我應該如何設置我的路由,以便在文件夾/主題不存在的情況下,這些請求會落到404上?
謝謝。
UPDATE
最後,工作溶液如下。感謝大家。
var fs = require('fs');
app.get('/:folder',function(req,res,next) {
var path = __dirname + '/views/site/' + req.params.folder + '/index.jade';
if(fs.existsSync(path))
{
res.render(path);
}
else
{
next();
}
});
app.get('/:folder/:topic',function(req,res,next) {
var path = __dirname + '/views/site/' + req.params.folder + '/' + req.params.topic + '.jade';
if(fs.existsSync(path))
{
res.render(path);
}
else
{
next();
}
});
app.use(function(req, res){
res.status(404).render('site/404.jade');
});
感謝大家的建議。 – 2014-09-24 20:21:55