我正在使用Express 4,有大约50个HTML页面。我试图处理404错误,但是无法弄清楚如何处理。我不想在node中手动定义所有路由器。是否有一种方法可以动态重定向到404 Jade模板,如果页面不存在?
我尝试了这段代码,但没有成功:
app.enable('verbose errors');
app.set('port', 3000);
app.use(express.static(__dirname + '/html/'));
var server = http.createServer(app);
server.listen(app.get('port'), function() {
console.log('ONLINE !');
});
app.use(function(req, res, next) {
console.log('GET ' + req.originalUrl)
console.log('At %d', Date.now());
next();
});
// Handle 404
app.use(function(req, res, next) {
if(req.accepts('html') && res.status(404)) {
res.render('404.jade');
return;
}
});
app.use
、app.error
或中间件等。你的所有文件都是静态的吗?除了静态路由之外,你似乎没有其他路由,并且所有动态请求都会进入404处理程序? - adeneo