2

Railway.js にルート '/client' を追加すると、この奇妙なエラーが発生します。

500 ReferenceError: jade is not defined

「/ client」だけでなく、アプリ内の有効なルートに対してこれを取得します。この行は、Jade でコンパイルされたテンプレートの先頭に追加されているようで、例外の原因となっています。

var attrs = jade.attrs, escape = jade.escape, rethrow = jade.rethrow;

ルート do '/client' を定義しない限り、コンパイルされたテンプレートには存在しません。

'/client/:id?', '/clients', 他のすべては機能しますが、'/client' のみです。

誰にも手がかりがありますか?

4

1 に答える 1

4

jade テンプレートを使用して ExpressJS アプリで作業していたときに、まったく同じエラーが発生しました。という名前のローカル変数を渡したページでのみ発生していることがわかりましたclient。例えば

res.render('admin/project_new', {
  タイトル: 'プロジェクトの編集',
  メッセージ: req.flash(),
  クライアント: someClient
});

jadeファイルをレンダリングするときの予約語だと思いclientます(または、他の何か、私はまだNode.jsに慣れていません)。これを次のように変更することで修正できました。

res.render('admin/project_new', {
  タイトル: 'プロジェクトの編集',
  メッセージ: req.flash(),
  theClient: someClient
});
于 2012-07-15T22:54:10.343 に答える