我正在使用这个gulp插件使用nunjucks来简化HTML管理。
https://github.com/carlosl/gulp-nunjucks-render
gulp.task('default', function () {
return gulp.src('src/templates/*.html')
.pipe(nunjucksRender({
path: ['src/templates/'] // String or Array
}))
.pipe(gulp.dest('dist'));
});
我想将模板和部分内容保存在不同的文件夹中,所以我尝试将其保存为路径
path: ['src/templates', 'src/partials']
但它不起作用。
Template render error: (unknown path)
Error: template not found: partials/side_nav.nunjucks
我的设定
最佳答案
据我所知,问题出在您的include
中。您已经将基本路径定义为'src/templates'
和'src/partials'
。现在,双节棍正尝试导入src/templates/partials/side_nav.nunjucks
,然后再导入src/partials/partials/side_nav.nunjucks
,它们不存在。
解决方案1
因此,您必须在不包含partials
部分的情况下将其包括在内:
{% include "side_nav.nunjucks" %}
解决方案2
如果要明确显示文件夹(模板和部分文件夹),则可以将基本路径设置为
src
,并像添加文件一样包含文件:{% extends "templates/layout_with_sidenav.nunjucks" %}
...
{% include "partials/side_nav.nunjucks" %}