使用node.js swig进行UNKNOWN错误合并

时间:2013-12-10 09:13:38

标签: node.js express swig-template

我在使用此包含的所有模板中收到此错误:

{% include '../public/templates/header.html' %}

有谁知道可能出现什么问题?

Error: UNKNOWN, unknown error '//../public/templates/header.html'
at Object.fs.openSync (fs.js:427:18)
at Object.fs.readFileSync (fs.js:284:15)
at getSingle (C:\project\node_modules\swig\lib\swig.js:152:19)
at get (C:\project\node_modules\swig\lib\swig.js:159:7)
at Object.exports.compileFile (C:\project\node_modules\swig\lib\swig.js:177:7)
at eval (eval at createRenderFunc (C:\project\node_modules\swig\lib\swig.js:44:10), :13:22)
at Object.eval (eval at createRenderFunc (C:\project\node_modules\swig\lib\swig.js:44:10), :15:3)
at Object.template.render (C:\project\node_modules\swig\lib\swig.js:111:21)
at C:\project\node_modules\swig\lib\swig.js:189:17
at Function.exports.swig.render (C:\project\node_modules\consolidate\lib\consolidate.js:245:14)

1 个答案:

答案 0 :(得分:0)

看起来你正在使用Swig @ v0.14.0,这是严重过时的。整个引擎被重写为v1.0.0,这使得能够使用相对路径。此功能以前不存在,因此您必须始终使用相对于root的绝对路径。

如果您继续使用v0.14.0,则假定您的root == './public/templates'或类似内容:

{% include '/header.html' %}

但是,我强烈建议您更新到最新版本Swig @ ~1.2以获得兼容性和支持目的。