无法在Express中呈现swig模板

所以我试图用consolidate.js来渲染swig模板 ,但是当我尝试从另一个模板“扩展”一个模板时,出现以下错误:

Error: ENOENT, no such file or directory '//one.html 

在我的app.js文件中,我将swig设置为渲染引擎(仅包含相关代码):

 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'); }); 

我有一个基本的模板, one.html

 <h3>My Site</h3> {% block content %} Welcome {% endblock %} 

然后是一个inheritance模板two.html

 {% extends 'one.html' %} {% block content %} This is an inner page. {% endblock %} 

那么为什么swig会寻找one.html的path//one.html (如上面的错误?)感谢您的任何帮助。

       

网上收集的解决方案 "无法在Express中呈现swig模板"

在查看swig文档(特别是使用Express的部分)后找出它。我所要做的就是初始化swig,并告诉它在哪里寻找“扩展”模板:

 var consolidate = require('consolidate'), swig = require('swig'); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); app.engine('.html', consolidate.swig); app.get('/test', function(req, res) { res.render('two'); }); /* Tell swig where to look for templates when one extends another. */ swig.init({ root: __dirname + '/views' });