在Nunjucks中,多个path的数组不适用于模板和部分

我使用这个gulp插件来使用nunjucks来简化HTMLpipe理。

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')); }); 

我想保留我的模板和partials在不同的文件夹,所以我试图保持path

 path: ['src/templates', 'src/partials'] 

但它不工作。

 Template render error: (unknown path) Error: template not found: partials/side_nav.nunjucks 

我的设置 从我的编辑器截图

据我所知,这个问题是在你的include 。 您已经将基本path定义为'src/templates''src/partials' 。 现在nunchucks正在尝试导入src/templates/partials/side_nav.nunjucks ,然后是src/partials/partials/side_nav.nunjucks ,这些不存在。

解决scheme1

所以你必须包含它没有partials部分:

 {% include "side_nav.nunjucks" %} 

解决scheme2

如果你想明确你的文件夹(模板和partials),你可以设置你的基本path为src而不是像你一样包含你的文件:

 {% extends "templates/layout_with_sidenav.nunjucks" %} ... {% include "partials/side_nav.nunjucks" %}