nunjucksで何か問題が起きているかどうかわかりません。テンプレートにすべての共通部分が含まれ、特定のページがテンプレートを拡張するテンプレート階層を作成します。何らかの理由で、ボディフィールドはブロックです。 template.nunjの中にインクルードするようにextendディレクティブを変更すると、すべて正常に動作しますが、ヘッダを拡張することはできません。また、template.nunjとindex.nunjでヘッダブロックを明示的に宣言してsuper()を呼び出してみましたが、何らかの理由でヘッダや本文が空白になりました。エクスプレスでNunjucksが正しく表示されない
高速セットアップ:
nunjucks.configure(path.resolve(__dirname, '.', 'views'), {
autoescape: true,
express: app,
watch: true,
cache: false,
});
app.set('view engine', 'nunj');
layout.nunj:
<!DOCTYPE html>
<html lang="en">
{% extends './common/header.nunj' %}
<body>
<div class="container">
{% block mainContainer %}
<p>This should be working</p>
{% endblock %}
</div>
</body>
</html>
{% extends 'layout.nunj' %}
{% block mainContainer %}
{{ super() }}
<p>This should be rendering</p>
{% endblock %}
index.nunjheader.nunj
{% block header %}
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/css/style.css">
<title>Dari Dictionary</title>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
{% endblock %}
index.nunjなぜレイアウトのヘッダを含む代わりに延びていませんか? – mrdotb
これを含めると、子テンプレートでそれをカスタマイズすることはできません。 –
あなたの質問にheader.nunjを追加できますか? – mrdotb