正则表达式从 node_modules 中排除文件夹

标签 regex webpack

我目前正在使用 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/

相关文章:

regex - 哪个是更好的非贪婪正则表达式或否定字符类?

unit-testing - 使用 angular 2 配置 karma webpack 的覆盖范围

javascript - 如果模块不存在,我如何让 webpack 跳过它

typescript - Electron/乏味: require (“events” ) is not defined

javascript - JS RegExp 中的转义特殊字符(在 jQuery .each() 中使用)

javascript - 正则表达式:从字符到行尾匹配,没有最后一个匹配组

regex - 正则表达式可以返回找到匹配项的行号吗?

regex - 在Dart正则表达式中匹配$(美元符号)词

javascript - webpack-dev-server 不自动更新 HTML?

node.js - Node :- 92% chunk asset optimization TerserPlugin FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory