nodeJSとsenchalabのconnectミドルウェアを使用しています(エクスプレスではありません!!)。静的エラー(404など)をキャッチする必要があります。どうすればこれらを入手できますか?ソースを確認しようとしましたが、エラーハンドラをconnect.staticに渡す方法が見つかりませんでした。
これが私が使用する(しなければならない)一般的な構造の要点です:
nodeJSとsenchalabのconnectミドルウェアを使用しています(エクスプレスではありません!!)。静的エラー(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 リクエストをキャッチします。