我在使用此包含的所有模板中收到此错误:
{% 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)
答案 0 :(得分:0)
看起来你正在使用Swig @ v0.14.0,这是严重过时的。整个引擎被重写为v1.0.0,这使得能够使用相对路径。此功能以前不存在,因此您必须始终使用相对于root
的绝对路径。
如果您继续使用v0.14.0,则假定您的root == './public/templates'
或类似内容:
{% include '/header.html' %}
但是,我强烈建议您更新到最新版本Swig @ ~1.2以获得兼容性和支持目的。