资讯专栏INFORMATION COLUMN

「bundle-compare-analyzer」 一个简单的比较各个版本 bundle.js 大小

Ocean / 929人阅读

摘要:最近在做的多个项目里,都会涉及到的打包分析与性能优化。在优化前,记录各个文件的体积大小优化后,记录新的各个体积的大小。专门记录每次打包文件们的大小信息,它将信息通过的方式展现在终端上。

最近在做的多个webpack+react项目里,都会涉及到webpack的打包分析与性能优化。

打包文件体积过大,优化bundle文件更是非常重要。
webpack有很多成熟的方案来减小打包代码的大小,如split coding, CommonsChunkPlugin, tree shaking等。这里不再详细分析,网上有很多教程。

通常大的项目 bundle JS 都有很多个打包文件组成,(有可能是分割成了多个thunk文件,有可能是多入口文件):

每次优化后,我都需要记录对比每个打包文件对应的大小。在优化前,记录 各个 bundle JS 文件的体积大小,优化后,记录新的各个 bundle JS体积的大小。

例如:

为了比较对main.[hash].js体积大小优化的成果,我需要记录main.[hash].js优化前和优化后的大小。过了几天,因为业务的需要,我修改了某个module的代码,main.[hash].js 的体积大小变化了,如果我还需要对它做优化,我需要继续记录优化前优化后的大小数据。经过几轮优化后,直观的分析、记录、对比这些体积大小数据变得非常麻烦。

所有空余时间,我做了一个bundle-compare-analyzer工具。专门记录每次打包文件们的大小信息,它将信息通过dashboard的方式展现在终端上。
这样经过多次的优化、打包、记录,我可以直观的观察、对比出每次优化后bundle JS的体积大小,不会再丢失记录过的数据,分析起来更加方便。

功能虽小,但确实实用方便 ? ? ?

Github地址:https://github.com/lanjinglin...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88260.html

相关文章

  • webpack4 SplitChunks实现代码分隔详解

    摘要:代码均放在仓库给我们带来了一些改变。插件以前使用允许我们将公共依赖项提取到现有的或全新的代码块中。代码详情见文章开头仓库。这才是配置的关键缓存组会继承的配置,但是和只能用于配置缓存组。可以通过禁用缓存组。代码均放在git仓库 Webpack 4给我们带来了一些改变。包括更快的打包速度,引入了SplitChunksPlugin插件来取代(之前版本里的)CommonsChunksPlugin插件...

    Zachary 评论0 收藏0
  • Webpack系列-第一篇基础杂记

    摘要:系列文章系列第一篇基础杂记系列第二篇插件机制杂记系列第三篇流程杂记前言公司的前端项目基本都是用来做工程化的,而虽然只是一个工具,但内部涉及到非常多的知识,之前一直靠来解决问题,之知其然不知其所以然,希望这次能整理一下相关的知识点。 系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用...

    Batkid 评论0 收藏0
  • 浅尝webpack

    摘要:用于对模块的源代码进行转换。将基础模块打包进动态链接库,当依赖的模块存在于动态链接库中时,无需再次打包,而是直接从动态链接库中获取。负责打包出动态链接库,负责从主要配置文件中引入插件打包好的动态链接库文件。告一段落,浅尝辄止。 吐槽一下 webpack 自出现时,一直备受青睐。作为强大的打包工具,它只是出现在项目初始或优化的阶段。如果没有参与项目的构建,接触的机会几乎为零。即使是参与了...

    villainhr 评论0 收藏0
  • 用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解

    摘要:依旧采取传统的开发技术栈进行开发,同时在终端的运行体验不输。首先来看下前端开发框架目前与构成了三大最流行的前端开发框架,具有组件化以及三大特性,还学习的,引入了状态管理模块。 摘要: WEEX依旧采取传统的web开发技术栈进行开发,同时app在终端的运行体验不输native app。其同时解决了开发效率、发版速度以及用户体验三个核心问题。那么WEEX是如何实现的?目前WEEX已经完全开...

    ls0609 评论0 收藏0
  • Webpack4教程 - 第二部分,使用loader处理scss,图片以及转换JS

    摘要:它将包括如何处理图片以及对老版本的语言的转换。添加使用最好的方式是在文件中指定它们。而相反,文件被转换为了。它允许你使用转译文件。此外,我们还学习如何使用处理图片。在教程未来的部分,我们会深入到中,包括写一个我们自己的。 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 今天继续我们的Webpack 4入门教程。在介绍了Webpack的基本概...

    Jioby 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<