3

Expressjs ですべてのルートをキャッチするように設定したい

私は3つのレベルを持っています

/モジュール

/モジュール/ページ

モジュールルートが存在しない場合は、モジュールは存在するがページが 404 ルートに送信されない場合も同様に 404 ルートに送信されます。

html での 404 の返信

/api/コントローラー/メソッド

上記と同様ですが、404 に相当するものは json で応答します

正規表現は私を殺しているので、誰かが私のヘアラインを手伝ってくれるなら、それは大歓迎です。:) ルート ルックアップ テーブルを使用することを考えましたが、「高速」な方法で試してみたいと思います。

4

1 に答える 1

4

/module /module/page のルートを設定するだけです (または /module/:page_id のようなものが必要な場合もあります)。

追加するすべてのルートの一番下に

 app.use(function(req,res) { 
    res.render('404', 
               { locals: {'title':'Not Found'}, }, 
               function(err,str) { res.send(str,404); } ); 

一致するものがない場合は、すべてのスナップをキャッチしてください。

これは、Google グループのスレッドからのものです https://groups.google.com/forum/?fromgroups=#!topic/express-js/aYLM4e1I4XU

于 2012-08-22T17:38:17.607 に答える