2013-12-10 1 views
0

Я получаю эту ошибку в все шаблоны, которые я включаю с помощью этого:Неизвестная ошибка с node.js Swig консолидации

{% 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

Может ли это не найти файл? Что такое swig.js в строке 177? –

+0

Он работал вчера. И я не внес никаких изменений в путь или местоположение файла. Попробовал переустановить swig и консолидировать тоже, не повезло. – user2000316

+0

Что он делает на линии 177? Кроме того, первые два '//' в пути шаблона странны ... –

ответ

0

Похоже, вы используете Swig @ v0.14.0, который сильно устарел. Весь движок был переписан для версии 1.0.0, что привело к возможности использования относительных путей. Эта функция ранее не существовала, поэтому вам всегда приходилось использовать абсолютные пути относительно вашего root.

Если вы продолжаете использовать v0.14.0, предполагая, что ваш root == './public/templates' или аналогичные:

{% include '/header.html' %} 

Однако я настоятельно рекомендуется обновить до последней версии, Swig @ ~ 1,2 для совместимости и поддержки.