gpt4 book ai didi

node.js - 模板路径中的通配符在带有 gulp 的 nunjucks 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:14 25 4
gpt4 key购买 nike

我正在使用这个 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/common-partials/', 'src/pages/**/**/includes/']

但它不起作用。

Template render error: (unknown path)
Error: template not found: component1.nunjucks

我的设置

enter image description here

最佳答案

path 选项不支持通配。您必须单独传递每个路径:

gulp.task('default', function () {
return gulp.src('src/templates/*.html')
.pipe(nunjucksRender({
path: ['src/templates/', 'src/pages/section_name/sub-page/includes']
}))
.pipe(gulp.dest('dist'));
});

如果您确实想使用通配符,您可以使用 glob在将每个 glob 传递给 gulp-nunjucks-render 之前解析每个 glob 的模块:

var glob = require('glob');

gulp.task('default', function() {
var includeDirs = ['src/templates/', 'src/pages/**/includes'];

return gulp.src('src/templates/*.html')
.pipe(nunjucksRender({
path: includeDirs.reduce(function(dirs, g) {
return dirs.concat(glob.sync(g));
}, [])
}))
.pipe(gulp.dest('dist'));
});

关于node.js - 模板路径中的通配符在带有 gulp 的 nunjucks 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39768150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com