Expressを使用する場合、ルーティングは私について最も混乱しているものの1つです。 App.get( '*')を使用するとすべてのページを処理できることは知られていますが、このようにして、カスタムルートを除いて静的ファイルは無視されます。最近、ガジェットを書いていたとき、解決策を見つけました。
コードコピーは次のとおりです。
var express = require( 'express')、
router = require( './ routes');
var app = module.exports = express.createserver();
// 構成
app.configure(function(){
// ...
//注文を逆に書かないでください
app.use(express.static(__ dirname + '/public'));
app.use(app.router);
});
//他のルーター...
// 404
app.get( '*'、function(req、res){
Res.Render( '404.html'、{
タイトル:「見つかりません」
})
});
ワイルドカードを最後に置きます。このように、ルーティングされていないすべてのページは、デフォルトで404.htmlによって引き継がれます。