2016-09-29 53 views
1

我正在使用這個gulp插件來使用nunjucks來簡化HTML管理。多個路徑的數組在Nunjucks中不適用於模板和分支

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

據我所看到的,問題是你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" %} 
+0

我在擴展模板不包括。模板不能與include一起使用。 –

+0

在這種情況下,請使用我的第一個解決方案?或者我錯過了什麼?或者第二個擴展而不是包含? – nils

+0

是您的第一個解決方案工作。雖然我也想做這個工作,但它不起作用。 'src/pages/**/**/includes /'' –

相關問題