Node.js + Express + Jade を長い間使用しています。ノード 0.8.12 にアップグレードしてから、実稼働サーバーで render( ... ) コマンドがタイムアウトするだけです。
この例では、「1」はログに出力されますが、「2」は出力されず、ページがタイムアウトします。もちろん、views/test.jade という名前のファイルはちゃんとあります。そして、これは私のテストサーバーでも同じコードでうまく動作します...
console.log('1');
res.render('test');
console.log('2');
そのため、Node.js を 0.6.18 (以前に使用していたもの) にダウングレードすると、コードは再び正常に動作します。しかし、私はより新しいノードバージョンが必要です...私が考えることができる1つの大きな違いは、0.6.18がYUM経由でCentOSにインストールされたということですが、適切なパッケージが見つからなかったため、v0.8.12を自分で作成する必要がありました.
これが私が試したことです:
- Express (@3.0.0rc5) と jade (@0.26.3) のアップグレード
- render() 関数でコールバックを使用する (呼び出されることはありません)
- app.set('views', absolute_path); を使用して、views/ ディレクトリを明示的に設定します。
- エラーを取得しようとして意図的に無効なテンプレート名を使用する。それでも、何もありません (コールバックが起動されず、実行されません)
- 泣いている
アイデア?