我正在使用这个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
答案 0 :(得分:2)
据我所知,问题出在include
。您已将基本路径定义为'src/templates'
和'src/partials'
。现在nunchucks正试图导入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" %}