Mat*_*dor 5 javascript regex node.js webpack webpack-dev-server
对于webpack 的监视功能,watchOptions.ignored允许我指定要忽略的任何匹配模式,如下所示:
module.exports = {
//...
watchOptions: {
ignored: ['files/**/*.js', 'node_modules']
}
};
Run Code Online (Sandbox Code Playgroud)
是否可以使用任何匹配或正则表达式模式来指定不忽略的子node_modules文件夹?
在这种情况下,我需要忽略除以“”开头的所有子文件夹node_modules 之外的所有内容。node_modulesabc-
我试图排除所有没有/src/. 我尝试对全局模式进行否定,但没有成功。
watchOptions.ignoreed
RegExp string [string]
该文档说它支持stringand [string]where string 可以是 glob 模式。
使用 glob 模式时,我们使用 glob-to-regexp 将它们转换为正则表达式
由于他们在内部使用glob-to-regexp,我认为负匹配不能按预期工作https://github.com/fitzgen/glob-to-regexp/issues/15
既然文档说我们RegExp也可以使用。我尝试了以下两个,都有效!
watchOptions: {
ignored: new RegExp('.*^((?!(/src/)).)*$'),
},
Run Code Online (Sandbox Code Playgroud)
和
watchOptions: {
ignored: '.*^((?!(/src/)).)*$',
},
Run Code Online (Sandbox Code Playgroud)
我不认为它支持数组RegExp (对于多种情况,我们可以使用正则表达式或)。
如果您使用正则表达式,您将能够实现这个问题中提到的情况。
参考: