Ich bin mir nicht sicher, ob dies ein Problem mit Express ist oder ob ich etwas falsch mit Nunjacks mache. Ich möchte eine Vorlagenhierarchie erstellen, in der die Vorlage alle Gemeinsamkeiten enthält und bestimmte Seiten die Vorlage erweitern. Aus irgendeinem Grund ist das Körperfeld blockiert. Wenn ich die extend-Anweisung so ändere, dass sie in template.nunj enthalten ist, funktioniert alles einwandfrei, aber ich kann den Header nicht erweitern. Ich habe auch versucht, den Headerblock in template.nunj und index.nunj explizit zu deklarieren und super() zu nennen, aber aus irgendeinem Grund wird entweder der Header oder der Body leer.Express nicht richtig Rendern Nunjucks
Expreßinstallation:
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>
index.nunj
{% extends 'layout.nunj' %}
{% block mainContainer %}
{{ super() }}
<p>This should be rendering</p>
{% endblock %}
header.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 %}
Warum in das Layout ohne Header statt verlängern? – mrdotb
Weil das Einfügen es mir nicht erlaubt, es in Kindvorlagen anzupassen. –
Können Sie die header.nunj in Ihrer Frage hinzufügen. – mrdotb