前端打包优化分析的可视化工具——Webpack Bundle Analyzer

简介: https://juejin.cn/editor/drafts/7101180318144708621 打包优化每个项目的时候,除了看控制台每个包的大小,其实十分推荐一款插件工具 **`Webpack Bundle Analyzer`**

打包优化每个项目的时候,除了看控制台每个包的大小,其实十分推荐一款插件工具 Webpack Bundle Analyzer

它自己的介绍

Visualize size of webpack output files with an interactive zoomable treemap.
使用交互式可缩放树形图可视化 webpack 输出文件的大小。

它能做到的

本模块将帮助您:

  1. 了解捆绑包中的真正内容
  2. 找出哪些模块构成了其最大的尺寸
  3. 查找错误到达的模块
  4. 优化一下!

最棒的是它支持缩小的捆绑包!它解析它们以获得捆绑模块的实际大小。它还显示了它们的压缩大小!

演示

1231213123gif.gif

安装

#npm 
npm install --save-dev webpack-bundle-analyzer 
#Yarn 
yarn add -D webpack-bundle-analyzer
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
// 可以区分
module.exports = {
//...其它配置项
    configureWebpack: {
        // 可以区分开发环境下的分析和打包环境下的分析,视情况而定
        plugins:
          process.env.NODE_ENV === 'production'
            ? [
              new BundleAnalyzerPlugin({
                analyzerMode: 'server',
                analyzerHost: '127.0.0.1',
                analyzerPort: 8889,
                reportFilename: 'report.html',
                defaultSizes: 'parsed',
                openAnalyzer: true,
                generateStatsFile: false,
                statsFilename: 'stats.json',
                statsOptions: null,
                logLevel: 'info'
              }),
            ]
            : [
              new BundleAnalyzerPlugin({
                analyzerMode: 'server',
                analyzerHost: '127.0.0.1',
                analyzerPort: 8888,
                reportFilename: 'report.html',
                defaultSizes: 'parsed',
                openAnalyzer: true,
                generateStatsFile: false,
                statsFilename: 'stats.json',
                statsOptions: null,
                logLevel: 'info'
            }),
        ],
    }
}

启动

npm run serve / npm  run build

显示

image.png

根据上边左边的列表可以看出每个的大小,也可以看到如果开启Gzip之后的文件大小,还是比较方便的

参考

https://www.npmjs.com/package/webpack-bundle-analyzer
更多选项也可以查看链接查看

结束语:关注我,少走弯路! 创作不易,转载请注明出处!

image.png

相关文章
|
6天前
webpack——通过webpack-bundle-analyzer分析项目包占比情况
webpack——通过webpack-bundle-analyzer分析项目包占比情况
11 2
webpack——通过webpack-bundle-analyzer分析项目包占比情况
|
7天前
|
前端开发 JavaScript C++
【绝技大公开】Webpack VS Rollup:一场前端工程化领域的巅峰对决,谁能笑到最后?——揭秘两大构建神器背后的秘密与奇迹!
【8月更文挑战第12天】随着前端技术的发展,模块化与自动化构建成为标准实践。Webpack与Rollup作为主流构建工具,各具特色。Webpack是一款全能型打包器,能处理多种静态资源,配置灵活,适合复杂项目;Rollup专注于ES6模块打包,利用Tree Shaking技术减少冗余,生成更精简的代码。Rollup构建速度快,配置简洁,而Webpack则拥有更丰富的插件生态系统。选择合适的工具需根据项目需求和个人偏好决定。两者都能有效提升前端工程化水平,助力高质量应用开发。
11 1
|
14天前
|
JavaScript 前端开发
什么是前端构建工具?vite和vite脚手架的关系!
【8月更文挑战第1天】前端构建工具简析
32 4
|
12天前
|
JavaScript 前端开发 CDN
webpack打包发布~
【8月更文挑战第7天】
24 1
|
18天前
|
开发框架 前端开发 JavaScript
基于SqlSugar的开发框架循序渐进介绍(18)-- 基于代码生成工具Database2Sharp,快速生成Vue3+TypeScript的前端界面和Winform端界面
基于SqlSugar的开发框架循序渐进介绍(18)-- 基于代码生成工具Database2Sharp,快速生成Vue3+TypeScript的前端界面和Winform端界面
|
4天前
|
前端开发 开发者
在前端开发中,webpack 作为模块打包工具,其 DefinePlugin 插件可在编译时动态定义全局变量,支持环境变量定义、配置参数动态化及条件编译等功能。
在前端开发中,webpack 作为模块打包工具,其 DefinePlugin 插件可在编译时动态定义全局变量,支持环境变量定义、配置参数动态化及条件编译等功能。本文阐述 DefinePlugin 的原理、用法及案例,包括安装配置、具体示例(如动态加载资源、配置接口地址)和注意事项,帮助开发者更好地利用此插件优化项目。
10 0
|
7天前
webpack——打包去除console
webpack——打包去除console
10 0
|
18天前
|
开发框架 前端开发 API
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理
|
3月前
|
JavaScript 前端开发
webpack成长指北第9章---webpack如何对icon字体进行打包
webpack成长指北第9章---webpack如何对icon字体进行打包
82 1
|
3月前
|
前端开发 JavaScript
webpack成长指北第7章---webpack的css\less\scss样式打包
webpack成长指北第7章---webpack的css\less\scss样式打包
67 0