我使用Gulp 4将代码从TypeScript编译为JavaScript,并构建和服务应用程序。
我遇到了一个我无法解决的问题。
我想在一些文件更改之前运行构建、复制html和复制css任务。
根据Gulp文档,我只需要提供一个ignoreInitial设置为false的配置对象,但它不起作用。
在初始化browserSync之前,我曾尝试调用这三个任务,但对我来说也不起作用
gulp.task("serve", function() {
// TODO Make a build before first serve
browserSync.init({
server: {
baseDir: "./dist/"
}
});
gulp
.watch(["src/**/*.ts", "src/**/*.html", "src/**/*.css"], {
ignoreInitial: false
})
.on(
"change",
gulp.series(
gulp.parallel("copy-html", "copy-css"),
build,
browserSync.reload
)
);
});
不要在返回的chokidar
接口上调用.on()
,而是将任务添加到watch命令中。
gulp
.watch(
["src/**/*.ts", "src/**/*.html", "src/**/*.css"],
{ ignoreInitial: false },
gulp.series(
gulp.parallel("copy-html", "copy-css"),
build,
browserSync.reload
)
)
);