Webpack watchOptions.ignored – 排除某些目录被忽略

问题描述 投票:0回答:1

对于 webpack 的监视功能

watchOptions.ignored
允许我指定要忽略的 anymatch 模式,如下所示:

module.exports = {
  //...
  watchOptions: {
    ignored: ['files/**/*.js', 'node_modules']
  }
};

是否可以使用anymatch或正则表达式模式来指定

node_modules
的子文件夹以not忽略?

在这种情况下,我需要忽略

node_modules
中的所有内容,除了
node_modules
的所有以“
abc-
”开头的子文件夹。

javascript node.js regex webpack webpack-dev-server
1个回答
2
投票

我试图排除所有没有

/src/
的文件夹。我尝试对全局模式进行否定,但没有成功。

watchOptions.ignored

RegExp
string
[string]

文档说它支持

string
[string]
,其中字符串可以是 glob 模式。

使用 glob 模式时,我们使用 glob-to-regexp 将它们转换为正则表达式

由于他们在内部使用 glob-to-regexp ,我认为负匹配无法按预期工作 https://github.com/fitzgen/glob-to-regexp/issues/15


因为文档说我们也可以使用

RegExp
我尝试了以下两个,都有效!

watchOptions: {
    ignored: new RegExp('.*^((?!(/src/)).)*$'),
},

watchOptions: {
    ignored: '.*^((?!(/src/)).)*$',
},

我认为它不支持具有

RegExp
的数组(对于多种情况,我们可以使用正则表达式或)。

如果你使用正则表达式,你将能够实现这个问题中提到的情况。

参考:

© www.soinside.com 2019 - 2024. All rights reserved.