介绍几个不太常用的打包分析工具

简介: webpack官方提供了分析打包的一些工具,我们在开发打包后,我们可以利用webpack给我们提供的一些工具去分析包的大小,从而对打包输出文件进行优化,通常我们都会用webpack-bundle-analyzer这个插件去分析,除了这种,我们看下官方提供的另外几种工具。

webpack官方提供了分析打包的一些工具,我们在开发打包后,我们可以利用webpack给我们提供的一些工具去分析包的大小,从而对打包输出文件进行优化,通常我们都会用webpack-bundle-analyzer这个插件去分析,除了这种,我们看下官方提供的另外几种工具。


正文开始...


在开始本文之前,首先会从以下几点去利用工具分析打包dist,参考官方文档bundle-analysis[1]


  • webpack-chart: webpack stats 交互饼图,主要是利用命令行webpack --profile --json=stats.json 本地生成json,然后根据生成的json显示包的信息
  • webpack-bundle-analyzer是一个插件,只要打包成功后,会自动打开一个界面分析dist包
  • webpack bundle optimize helper 分析打包后的bundle.js,减少bundle大小
  • bundle-stats生成一个bundle报告,比较不同构建之间的结果


webpack-chart


我们打开webpack-chart[2]

25f1efb9f962ab27bcb81463c363e189.png

然后在我们的项目命令行里输入

npx webpack --profile --json=stats.json

460a35f6522ed6ec528ec072353241b9.png

或者在package.json

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "server": "webpack server",
    "async": "webpack --profile --json=stats.json"
  },

将生成的stats.json在指定打开的那个网站上上传上去

3622a4a2b4e5c1aac7ce453504f122ca.png

但是这个图貌似并没有那么明显


webpack-visualizer


打开webpack-visualizer[3]

b04ac4bbae4e3285e8691b0639e171b1.png

将生成的stats.json上传后

f52cc4c2d0a9ac9477405e315641c787.png

能分析哪个文件包含的一些依赖包的关系


webpack-bundle-analyzer


直接安装webpack-bundle-analyzer[4]插件

npm i webpack-bundle-analyzer --save-dev

// webpack.config.js
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer')
...
module.exports = {
    plugins: [
    ...
    new BundleAnalyzerPlugin()
  ]
}

当我们运行npx webpack时,就会自动打开本地8888端口了

54af74c4caa72fabaebfdb35ff85dfb2.png

通常来说,这种方式效果最好,可以非常清楚的看到文件包之间的依赖关系

另外还有一种方式,就是可以用命令行方式,前提是先生成stats.json

npx webpack-bundle-analyzer stats.json


webpack bundle optimize helper


打开地址helper[5],上传生成的stats.json

8ce284a67c41e30e38175451b3db69d4.png

在这之前我们webpack.config.jsmode:development此时我们改成mode:production


相比较之前要小得多,并且告诉我们一些可以改进的意见

553636bae47635855e2ec0b205ec26f2.png


analyse


直接打开analyse[6],把生成的stats.json上传上去即可

0e842e73d8ff283a7371aa6f61bd2730.png

不过这个信息貌似只能分析包文件的一些大小,包之间的依赖关系并没有那么明显


总结


  • 主要是介绍webpack几种不同分析包的工具,每一种都有不同的特点
  • webpack --profile --json=stats.json生成stats.json文件,然后利用工具上传stats.json,分析包数据
  • 最实用的还是webpack-bundle-analyzer用得比较多点
相关文章
|
8月前
|
数据可视化 数据挖掘 Java
提升代码质量与效率的利器——SonarQube静态代码分析工具从数据到洞察:探索Python数据分析与科学计算库
在现代软件开发中,保证代码质量是至关重要的。本文将介绍SonarQube静态代码分析工具的概念及其实践应用。通过使用SonarQube,开发团队可以及时发现和修复代码中的问题,提高代码质量,从而加速开发过程并减少后期维护成本。 在当今信息爆炸的时代,数据分析和科学计算成为了决策和创新的核心。本文将介绍Python中强大的数据分析与科学计算库,包括NumPy、Pandas和Matplotlib,帮助读者快速掌握这些工具的基本用法和应用场景。无论是数据处理、可视化还是统计分析,Python提供了丰富的功能和灵活性,使得数据分析变得更加简便高效。
|
4月前
|
数据挖掘 Python
🚀告别繁琐!Python I/O管理实战,文件读写效率飙升的秘密
在日常编程中,高效的文件I/O管理对提升程序性能至关重要。Python通过内置的`open`函数及丰富的库简化了文件读写操作。本文从基本的文件读写入手,介绍了使用`with`语句自动管理文件、批量读写以减少I/O次数、调整缓冲区大小、选择合适编码格式以及利用第三方库(如pandas和numpy)等技巧,帮助你显著提升文件处理效率,让编程工作更加高效便捷。
52 0
|
8月前
|
Shell API 开发者
Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格
Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格
76 1
|
机器学习/深度学习 算法 数据挖掘
巨详细的一份Python学习路径文档--如何精准的入手Python
巨详细的一份Python学习路径文档--如何精准的入手Python
218 0
|
Web App开发 安全 Unix
高效率的工作工具(持续更新...)
高效率的工作工具(持续更新...)
251 0
高效率的工作工具(持续更新...)
|
JSON 数据处理 数据安全/隐私保护
百宝箱,这款小工具能够覆盖95%的文件处理功能!
在日常工作和学习过程中,经常要和大量的文件处理打交道。 PDF、Word、Excel、TxT、图片....需要频繁的对这些文件进行转换、编辑、批量处理等操作。
|
数据采集 存储 编解码
Python爬虫系列4-优化普通数据下载性能的速度
很多人在学习爬虫的时候,总是参照着书本中的内容或者是从网上学习的案例,但是那些案例你会,别人也会 ,如此怎么能提高我们的市场竞争力呢?Tony老师不服,于是,此篇文章顺利诞生;也是想让大家在学习的过程中真正的 **学以致用** 。
Python爬虫系列4-优化普通数据下载性能的速度
|
网络协议 测试技术 C语言
高效开源的网络扫描框架 —— NINJA-PingU
这个扫描框架有着一个很萌的名字(企鹅忍者),同时它还有其他优秀的特性,开源,支持插件,高效。 NINJA-PingU作为一个扫描框架,可不仅仅只有ping这样简单的功能,他是一个专门为大型网络扫描所设计的框架,兼顾效率的同时,支持插件的开发。
460 0
高效开源的网络扫描框架 —— NINJA-PingU
|
SQL NoSQL Java
案例分享:巧用工具提升无源码系统的性能和稳定
在没有核心系统源码的情况下巧用工具提升系统的性能和稳定性。