watchOptions.ignored和webpack.WatchIgnorePlugin有什么区别

时间:2018-01-20 22:59:03

标签: webpack webpack-dev-server

将webpack与手表一起使用时,例如使用webpack-dev-server时,似乎(至少)有两种不同的方式可以排除观看文件。我无法找到有关这两种配置之间差异的文档以及它们不同的原因。有谁知道为什么?一种方法是首选吗?我应该打开一个问题和/或提出改进文档的请求吗?

我最近遇到的情况是第一次运行时多次触发手表的情况通过添加watchIgnorePlugin而不是由watchOptions.ignored

修复而得到修复

webpack.WatchIgnorePlugin

  

在监视模式下,忽略指定的文件,即与提供的路径或正则表达式匹配的文件。

new webpack.WatchIgnorePlugin(paths)
     

选项

     
      
  • paths(array):RegExps列表或目录的绝对路径或'   应该忽略的文件。
  •   
           

https://webpack.js.org/plugins/watch-ignore-plugin/

watchOptions.ignored

  

对于某些系统,观看许多文件系统可能会导致大量CPU或   内存使用情况。可以排除像node_modules这样的巨大文件夹:

 ignored: /node_modules/
     

也可以使用anymatch模式:

 ignored: "files/**/*.js"
           

https://webpack.js.org/configuration/watch/

1 个答案:

答案 0 :(得分:1)

WatchIgnorePlugin插件支持RegExp列表或指向应忽略的目录或文件的绝对路径。

watchOptions.ignored选项支持anymatch模式,其中包括正则表达式,glob,字符串或将字符串作为参数并返回真实值或虚假值的函数。

如果您使用的是Windows,则可能是watchOptions.ignored对您不起作用的原因:

  

注意:此模块具有Bash奇偶校验,请注意,不支持Windows风格的反斜杠作为分隔符。有关更多信息,请参见https://github.com/micromatch/micromatch#backslashes