我目前正在使用 webpack 并运行一项测试,该测试会遍历 node_modules 并排除一个特定模块。
但是,当我在正则表达式检查器上尝试它时,我正在努力处理正则表达式,并且它工作正常。然而,在 webpack 上它失败了。
示例:https://regex101.com/r/rO4jD0/34
^node_modules\/(?!example).*
在 webpack 本身上,我正在编写以下内容:
vendor: {
test: /^[\\/]node_modules[\\/](?!example).*[\\/]/,
// test: /^[\\/]node_modules[\\/](?!example)[\\/].*/,
// test: /^node_modules\/(?!example).*/,
name: 'vendor',
chunks: 'all',
}
这些测试是我迄今为止运行的测试的示例,但不幸的是它们都失败了。
仅供引用 - 这工作正常,但它不排除一个示例文件夹。
test: /[\\/]node_modules[\\/]/,
最佳答案
这是将大型 vendor 模块拆分为自己的包吗?我是这样做的:
vendor: {
name: 'vendor',
test: /[\\/]node_modules[\\/]((?!(example.js|slick-carousel)).*)[\\/]/,
name: 'vendors',
chunks: 'all'
},
v_example: {
test: /[\\/]node_modules[\\/]((example.js).*)[\\/]/,
name: 'v_example',
chunks: 'all'
},
v_slick: {
test: /[\\/]node_modules[\\/]((slick-carousel).*)[\\/]/,
name: 'v_slick',
chunks: 'all'
}
关于正则表达式从 node_modules 中排除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845178/