Gulp 4,任务在调用手表之前不执行



我使用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
      )
    )
  );

最新更新