我使用 nodeJS 和 senchalab 的连接中间件(不是 express !!)。我需要捕捉静态错误(如 404)。我怎么得到这些?我试图检查源代码,但找不到将错误处理程序传递给 connect.static 的方法。
这是我(必须)使用的一般结构的要点:
我使用 nodeJS 和 senchalab 的连接中间件(不是 express !!)。我需要捕捉静态错误(如 404)。我怎么得到这些?我试图检查源代码,但找不到将错误处理程序传递给 connect.static 的方法。
这是我(必须)使用的一般结构的要点:
根据您的路线:
router.routes['/'] = 'my page';
router.routes['/404'] = '404 test';
我想你的意思是:
connect()
.use(connect.static(__dirname + '/public'))
.use(function(req, res, next){
switch (req.url) {
case '/404':
var body = '404 test';
res.statusCode = 404;
res.setHeader('Content-Length', body.length);
res.end(body);
break;
default:
var body = 'my page';
res.setHeader('Content-Length', body.length);
res.end(body);
}
})
.listen(3001);
我还想补充一点,在旧的连接版本 1.x 中,您可以使用“connect.router”,但在 2.x 版本中,它已被删除并移至 express。如果您需要有用的路由系统,请使用 express:
Connect 从来都不是直接使用的,它的存在是为了支持 Express 等框架
您可以在静态和所有路由之后添加一个包罗万象的路由:
app.get('*', function(req, res){
//respond with 404 page or something.
})
它将捕获所有不匹配的 GET 请求。