如何将 React 库提取到单独的包中?

How to extract React library to separate bundle?

是否可以通过 Webpack 4 提取 React 和(或)ReactDOM 库以分离捆绑包? 例如,我有 React 应用程序,其中包括 React、ReactDOM 和 Moment.js 包。所以我希望结果是两个捆绑包:

如何根据包的名称而不是入口点的使用频率来拆分包?

嗨@VRSY 在花了一些时间了解 webpack 的 SplitChunksPlugins.js 之后,我想出了如何编写 RegEx 来提取 spearate 供应商块中的 node_modules。

splitChunks: {
      cacheGroups: {
        vendor: {
          test: /[\/]node_modules[\/](react|react-dom)[\/]/,
          name: 'vendor',
          chunks: 'all',
        }
      }
    }

New chunk would be bigger than 30kb

我之前在为模块文件夹名称编写正则表达式时犯了一个错误。但是相对路径正则表达式是匹配正则表达式的好选择。