使用 grunt 监视已删除的文件

Watching for deleted files with grunt

使用 grunt-watch 来监视文件的更改对于 add/change 操作来说非常有用,因为当它调用带有更改列表的任务时,任务的 files(或 fileSrc) 属性 将包含 added/changed 个文件。

删除的文件不是这样。如果您监视已删除的文件并调用任务,则已删除的文件将不会出现在任务的 filesSrc 属性 或 files 属性.[= 的规范化部分中19=]

除了手动规范化特定 files 元素的 orig 属性 之外,有没有办法强制删除的文件出现在 fileSrc 或规范化的文件中files 的一部分?如果不是,规范化的最佳方法是什么orig(我不想重新发明轮子)?

插件很可能是故意从文件数组中转储已删除的文件,但是插件确实会发出 watch event 您可以侦听的内容:

grunt.initConfig({
  watch: {
    scripts: {
      files: ['**'],
    },
  },
});
grunt.event.on('watch', function(action, filepath, target) {
  if (target === 'scripts' && action === 'deleted') {
    // your code goes here
  }
});

还有一些方法可以设置特定的监视任务,当监视程序检测到删除时运行特定的任务。 plugin's documentation 中列出了这两种方法。