当前位置: 首页 > 知识库问答 >
问题:

Web包绑定后,React dom和Web包的大小都非常大

萧永望
2023-03-14

目前正在使用webpack捆绑我的React应用程序。我注意到Bundle分析器中最大的两个部分是React-dom(955kb)和mapbox-gl.js(745kb)。我想知道这是否正常,或者是否有人可以给出一些关于如何减小尺寸的建议。(当前还使用新的CompressionPlugin()压缩捆绑包)。

谢谢

共有1个答案

梁昊天
2023-03-14

是的,这是正常的,在处理这两个库时会发生。

我建议使用webpack splitchunks优化技术,创建两个块,一个包含所有代码,另一个包含供应商js。

像下面将吐你的mapbox gl作为单独的捆绑包:

optimization: {
        minimize: true,
        splitChunks: {
            cacheGroups: {
                vendor: {
                    test: /[\\/]node_modules[\\/](mapbox-gl)[\\/]/,
                    name: `${appName}-vendor`,
                    //Apply optimization over both dynamically imported module or non-dynamically imported module.
                    chunks: 'all'
                },
                defaultVendors: {
                    reuseExistingChunk: true,
                    enforce: true
                }
            }
        },
}

其次使用CompressionWebPackPlugin gzip你的CSS和JS代码:

// new BundleAnalyzerPlugin(),
        new CompressionWebpackPlugin({
            filename: `v${appVersion}/[base].gz[query]`,
            algorithm: "gzip",
            test: /\.(js|css)$/,
            deleteOriginalAssets: true,
        })

有用的文章(请检查深入学习):

https://medium.com/hackernoon/the-100-correct-way-to-split-your-chunks-with-webpack-f8a9df5b7758

祝你好运!

 类似资料:
  • 我读过关于减少捆绑大小的各种回答。首先,我想了解我的13MB捆绑包是怎么回事,所以我安装了Webpack捆绑包大小分析器。它生成了以下输出: 有几件事我不明白: 为什么react会以两种不同的尺寸出现两次? 为什么加起来不到13MB?(大约4.75MB) 这是否意味着我自己的代码只有4KB?(最后一行) 从这棵树可以理解如何保存KBs吗?我的意思是,例如,有没有一种方法可以只使用部分lodash,

  • 我有一个使用react开发的网站,它只有一个页面,但产品包大小是1.11MIB。我正在使用firestore、firebase storage、material UI、react redux,该应用程序运行良好,除了捆绑包大小外,一切正常。 我的网页包配置文件 我不知道我在这里错过了什么来减小节点模块的大小。如果我们有任何其他选择,以减少捆绑大小,请给我一个建议。

  • 我正在寻找最简单的方法(尽可能用最少的代码/定制)来提供一个HTTP API来从我的数据库中搜索对象。 到目前为止,我使用的是querydsl和一个简单地委托给底层存储库的Spring控制器: 这很有效。例如,我可以做: 它返回拥有所有者的所有文件夹。 但是,我无法搜索以给定关键字开头的字段。我希望能够这样做: 它应该返回所有以开头的文件夹。我不介意语法是否不同,只要我可以使用“startsWit

  • 我正在使用和作为模块绑定器编写一个web应用程序。到目前为止,我的代码非常轻,整个文件夹的大小是25kb。 然而,我的是从创建的,其大小为2.2MB。在使用标志运行优化后,它将捆绑包减少到700kb,这仍然非常大。 我已经查看了文件,它的大小是130kb。 有没有可能webpack产生了这么大的文件,或者我做错了什么? webpack.config.js 编辑 package.json:

  • 问题内容: 我目前正在尝试在构建服务器(Windows Server R2)上创建Jenkins CI作业,事实证明,这需要进行更多工作才能安装Visual Studio。为此,我尝试使用Visual Studio项目中的.csproj文件构建Web包。这是我在詹金斯(Jenkins)中的MSBuild操作设置的外观: 运行构建时发生的错误是这样的: C:\ Program Files(x86)\

  • 我一直在写一个程序,它使用UDP上的停止和等待协议通过局域网和广域网发送数据包。我最近一直在测试我的程序,并注意到较大的数据包(接近64k字节)的丢包率更高。直觉上这是有道理的,但实际原因是什么?