目前正在使用webpack捆绑我的React应用程序。我注意到Bundle分析器中最大的两个部分是React-dom(955kb)和mapbox-gl.js(745kb)。我想知道这是否正常,或者是否有人可以给出一些关于如何减小尺寸的建议。(当前还使用新的CompressionPlugin()压缩捆绑包)。
谢谢
是的,这是正常的,在处理这两个库时会发生。
我建议使用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字节)的丢包率更高。直觉上这是有道理的,但实际原因是什么?