未使用的模块不会用于 react-native-web。捆绑规模仍然很大

cra*_*box 6 reactjs webpack react-native tree-shaking react-native-web

我们有一个带有用于 web 包的 react-native-web 的 react native 应用程序。问题是 react-native-web 包在最终包中是 827kb 并且是构建的主要部分。

我们没有使用包中的所有模块,但未使用的模块没有经过 treeshaken。任何减少捆绑包大小的提示?

规则

  {
    test: /\.(js|jsx|ts|tsx)$/,
    loader: 'babel-loader',
    options: {
      cacheDirectory: true,
      plugins: ['react-native-web']
    },
    exclude: /node_modules/
  },
Run Code Online (Sandbox Code Playgroud)

产品配置:

module.exports = merge(baseConfig, {
  mode: 'production',
  plugins: [new TerserPlugin()]
})
Run Code Online (Sandbox Code Playgroud)