私は jade/coffee/stylus として記述した静的ファイルをレンダリングする Express ミドルウェアとして harp を使用しています。存在しないページを閲覧する場合を除いて、すべて正常に動作します。通常の 404 ページの代わりに、プレーンな「/(ページ名) を取得できません」というメッセージが表示されます。ノードを使用する代わりに「harpサーバー」でサイトを実行すると、当然正常に動作します。
問題は、サーバー内から 404 ページをリダイレクトする必要があることだと考えました。ただし、そうすると、Express は jade 形式を認識しません。次に、jade をインストールしてビュー エンジンとして使用する必要があります。さらに、スタイラスを使用する場合は、そのレンダリングも追加する必要があります。ハープをミドルウェアとして使用する目的を無効にします。
カスタム 404.jade ファイルをハープのスタンドアロン バージョンと同じように処理する代替案を誰か提案できますか?
私のコード:
express = require "express"
harp = require "harp"
app = express()
app.use express.static __dirname + "/public"
.use harp.mount __dirname + "/public"
#the following does not work
.use (req,res) ->
res.status(404).render __dirname + "/public/404.jade"
.listen 3000