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

时间:2016-09-29 09:40:40

标签: node.js gulp nunjucks

我正在使用这个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

我的设置 screenshot from my editor

1 个答案:

答案 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" %}