1

次のように、同じフォルダーに 2 つの jade テンプレートがあります。

  |__layout.jade
  |__content.jade

そして、layout.jade は親テンプレートであり、content.jade はそれを継承しますlayout.jade

doctype 5
html(lang="en")
  head
    title= title
  body
    block content

の中にcontent.jade

extends layout

block content
 h1 this is frome nested template

ただし、実行すると継承が機能せず、親テンプレートのコンテンツのみが表示されます

私のコードの何が問題なのですか?

4

4 に答える 4

1

同様の問題があり、stack-overflow/Jade ドキュメントで node.js のさまざまな回答を試しました。

app.js ファイルで、以下を確認してください。

1) ビュー エンジンが jade (現在は pug に名前が変更されています) に設定されていることを確認します。

app.set("view engine", "jade");

2) ビュー フォルダー (つまり、テンプレート/ビュー ファイルを保存した場所) を設定します。

app.set("views", __dirname + "/views");

3) レイアウトを false に設定します。

app.set('view options', { layout: false });

4) エクスプレスを使用している場合は、正しいファイルをレンダリングしていることを確認してください

app.get("/", function(req, res){
    res.render("contents.jade");
});

それが役立つことを願っています

于 2016-12-26T16:48:06.603 に答える
1

これは完全なニシンかもしれませんが、2 つのファイルのインデントに一貫性がないことに気付きました (少なくとも上記で貼り付けたように)。

これを修正するとうまくいきますか?

于 2012-12-23T17:10:19.057 に答える