So versuche ich consolidate.js zu verwenden swig templates mit Express zu machen, aber ich bekomme die folgende Fehlermeldung, wenn ich versuche, eine Vorlage von einem anderen zu „verlängern“:Kann nicht swig Vorlagen in Express
Error: ENOENT, no such file or directory '//one.html
In meinem app.js
Datei-I-Setup swig als meine Rendering-Engine (nur relevant Code einschließlich):
var consolidate = require('consolidate');
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.engine('.html', consolidate.swig);
app.get('/test', function(req, res) {
res.render('two');
});
Und ich eine Basisvorlage haben, one.html
:
<h3>My Site</h3>
{% block content %}
Welcome
{% endblock %}
Dann wird eine Vererbungsvorlage, two.html
:
{% extends 'one.html' %}
{% block content %}
This is an inner page.
{% endblock %}
Warum also swig sucht one.html
mit einem Pfad von //one.html
(wie in dem obigen Fehler?) Vielen Dank für jede Hilfe.
Sie brauchen nicht zu verwende consolidate, verwende [swig.renderFile'as engine] (http://paularmstrong.github.io/swig/docs/#express) => 'app.engine ('html', swig.renderFile);' – laconbass
Beachten Sie, dass "swig.init" in der neuesten Version von swig veraltet ist. Weitere Optionen finden Sie in der [swig documentation] (http://paularmstrong.github.io/swig/docs/api/#SwigOpts). – user1534980