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


我的设定
node.js - 多路径数组在Nunjucks中无法用于模板和局部-LMLPHP

最佳答案

据我所知,问题出在您的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" %}

09-18 05:45