0

Express と Jade は初めてで、ビューをレンダリングするときに次のエラーが発生します。

TypeError: オブジェクト # のプロパティ 'engine' は関数ではありません

私の構成は次のとおりです。

var express = require('express');
var http = require('http');
var app = express();
app.set("views", __dirname + "/../views");
app.set("view engine", "jade");

次のレンダリング関数でアプリがクラッシュします。

app.get("/", function(request, response) {
  response.render("game.jade", { message: "this is a variable" });
});

ビューはビュー ディレクトリに存在し、いくつかの単純な jade テスト html のみが含まれています。

これを解決する方法はありますか?

4

1 に答える 1

1

jade.js実際の Jade パッケージの前に(またはjade/index.js)という名前のファイル$NODE_PATHがロードされている (関数ではなくオブジェクトを返す) 場合 (および/またはインストールしていない場合) 、問題を再現できます。

次のように、ロードされているファイルを見つけることができます。

$ node -e 'console.log(require.resolve("jade"))'
于 2013-10-19T20:02:35.233 に答える