【发布时间】:2020-10-06 21:50:06
【问题描述】:
我有两个 gulp 任务如下:
gulp.task("merge-json", () => {
return gulp
.src(
[
src_folder + "/modules/**/*.json",
src_folder + "/organisms/**/*.json",
src_folder + "/pages/**/*.json",
],
{
since: gulp.lastRun("merge-json"),
}
)
.pipe(plumber())
.pipe(merge({fileName: "data.json"}))
.pipe(gulp.dest(src_folder + "/datas/dist/"))
.pipe(browserSync.stream());
});
gulp.task("nunjucks", () => {
return gulp
.src([src_folder + "pages/**/*.njk"], {
base: src_folder + "pages",
since: gulp.lastRun("nunjucks"),
})
.pipe(plumber())
.pipe(data(() => JSON.parse(fs.readFileSync(src_folder + "datas/dist/data.json"))))
.pipe(nunjucks({path: src_folder}))
.pipe(gulp.dest(dist_folder))
.pipe(browserSync.stream());
});
第一个任务使用merge-json插件将所有的json文件合并成一个单独的名为data.json的文件,然后这个data.json会被gulp-nunjucks-render插件用来生成html页面。
我这里的问题是在我的项目src中生成了一个名为data.json的文件,它只会用于nunjucks插件。
我的问题是,有没有办法直接在 nunjucks 插件中使用 merge-json (data.json) 插件的输出?
【问题讨论】: