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

时间:2018-10-16 23:13:54

标签: 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[\\/]/,

1 个答案:

答案 0 :(得分:0)

这是否是将大型供应商模块拆分成自己的捆绑包?这是我的操作方式:

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'
}