我有一个任务如下:
gulp.task("nunjucks", () => {
return gulp
.src([src_folder + "pages/**/*.njk"])
.pipe(plumber())
.pipe(
data(() =>
JSON.parse(fs.readFileSync(src_folder + "datas/dist/data.json"))
)
)
.pipe(nunjucks())
.pipe(beautify.html({ indent_size: 2 }))
.pipe(gulp.dest(dist_folder))
.pipe(browserSync.stream({match: '**/*.html'}));
});
gulp.watch([src_folder + '**/*.njk'], gulp.series("nunjucks")).on("change", browserSync.reload);
我的项目结构是这样的:
原子、分子和有机体都包含双截棍的部分。
我遇到的问题是,每当我更新部分文件(例如:organisms/partial1.njk),我的任务会检测pages
(我为任务src提供的路径)中所有文件的更改,如下所示:
我只想重新加载包含此部分文件的文件,而不是所有文件。
我该如何解决这个问题?
1条答案
按热度按时间afdcj2ne1#
它不是由你狼吞虎咽的任务来知道你的Nunjuck页面中的哪一个包含部分。也许如果你在你的Pages文件夹中重新分组你的.njk文件,你就可以更好地管理什么被重新加载。下面是未经测试的,但希望传达的想法...
然后,您可以将gulp任务中的src更新为如下内容......