webpack打包可视化分析之--webpack-bundle-analyzer

news2024/9/22 15:29:19

在开发一些项目的时候,有时候有些旧的框架项目用的webpacke打包慢,打包出来的包文件大,然而我们想要对它进行优化分析,有些旧的项目可能在不断迭代的过程中,有些模块功能改造或者有些需求变化,有些新需求模块开发测试完后,后面旧的模块功能有些不用等需要注释或者删掉,但是由于多人协作和历史版本迭代,有些依赖也可能没删除等,此时我们想对项目做一次比较系统的打包优化分析,我们需要一些可视化插件去帮助我们优化,此时可以用什么呢?下面推荐一个webpack-bundle-analyzer 插件

一、webpack-bundle-analyzer 插件是什么?

        webpack-bundle-analyzer 插件是一个用于可视化分析 webpack 打包后的 bundle 文件的工具。它可以以交互式的图形界面展示 bundle 文件的大小、模块依赖关系、模块引用次数等信息,帮助开发者快速定位并优化项目中的体积过大或冗余的模块,从而提高项目性能加载速度。使用 webpack-bundle-analyzer 插件可以更直观地理解打包后的 bundle 文件结构,帮助开发者做出更好的优化决策。

二、有什么优点?

        1、可视化分析:可以生成可视化报告,以帮助开发人员直观地了解打包后的文件大小、模块依赖关系等信息。这使得开发人员可以更好地优化打包体积,提高应用程序的性能。

        2、灵活性:提供了多种查看报告方式,包括饼图、树状图和矩形图等,开发人员可以根据自己的需求选择最适合的视图。

        3、定位问题模块:可以标记大体积模块,让开发人员能够快速定位到可能存在问题的地方,并进行优化

        4、提供优化建议:可以分析打包后的文件,给出优化建议,例如识别重复模块、未使用的模块等,帮助开发人员进一步提升应用程序的性能。

        5、易于使用:webpack-bundle-analyzer 插件可以很容易与 Webpack 集成,并提供了简洁明了的命令行界面和配置选项。它还可以与其他优化插件配合使用,如 Tree Shaking代码拆分等,使得优化过程更加灵活高效

三、如何安装?

1、yarn 或者npm 安装

   (1)yarn 

  (2)npm

2、webpack 配置文件中添加配置 

3、运行分析

    重新执行编译打包命令运行,插件将会自动启动并生成一个可视化报告

4、根据分析.js优化

     你已经成功安装并配置了 webpack-bundle-analyzer 插件。通过分析报告,你可以了解到你的打包文件的大小、组成以及依赖关系等信息,以便进行优化和调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python的warnings.filterwarnings(“ignore“)

在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告,如果想要去掉这些警告,可以使用python的warnings.filterwarnings(“ignore”)函数。 代码: import warnings warnings.filterwarnings(ignore)看一下这个函数&…

【学习笔记】数据结构(五)

多维数组和广义表 文章目录 多维数组和广义表5.1 数组的定义5.2 数组的顺序表示和实现5.3 矩阵的压缩存储5.3.1 特殊矩阵5.3.2 稀疏矩阵三元组顺序表 (Triplet Representation) - 有序的双下标法行逻辑链接的顺序表十字链表法 5.4 广义表的定义5.5 广义表的存储结构5.6 m元多项…

mysql与Python交互

mysql数据库基本操作: [rootm ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 解压压缩包 [rootm ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [rootm ~]# cp -r mysql-5.7.44-linu…

【myz_tools】Python库 myz_tools:Python算法及文档自动化生成工具

写在前面 本来最开始只是单纯的想整理一下常用到的各类算法,还有一些辅助类的函数,方便时间短的情况下快速开发。后来发现整理成库更方便些,索性做成库,通过pip install 直接可以安装使用 关于库 平时见到的各类算法大多数还是…

volatile 浅谈

在Java中,volatile 关键字是一种轻量级的同步机制,它用于确保变量的可见性和有序性,但不保证原子性。当我们说 volatile 屏障时,我们实际上是在讨论 volatile 变量如何影响Java内存模型(JMM)中的操作重排序…

Vue3+vite+ts 项目使用mockjs

1、安装mockjs npm i mockjs 2、安装vite-plugin-mock npm i vite-plugin-mock -D 3、安装axios npm i axios 4.在src目录下创建mock文件夹,在文件夹内创建login.ts等文件,并在文件夹内放置以下内容(注:URL要和真实请求地址保持一致&am…

使用html+css+js实现完整的登录注册页面

在这篇博客中,我们将讨论如何使用简单的 HTML 和 CSS 构建一个登录与注册页面。这个页面包含两个主要部分:登录界面和注册界面。我们还会展示如何通过 JavaScript 切换这两个部分的显示状态。 页面结构 我们将创建一个页面,其中包含两个主要…

DALL-E 2:重新定义图像生成的人工智能

DALL-E 2是一款先进的人工智能模型,它在图像生成领域取得了突破性进展。与前一代DALL-E相比,DALL-E 2能够以更高的分辨率和更精细的细节生成图像,同时还能更好地理解并处理复杂的文本描述。这意味着,用户可以通过输入描述性的文本…

⌈ 传知代码 ⌋ Visual SLAM函数

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

【扩散模型入门教程】

DDPM 从零实现代码:https://huggingface.co/blog/annotated-diffusion improved-diffusion,openai代码:https://github.com/openai/improved-diffusion diffusion_tutorial:https://github.com/sunlin-ai/diffusion_tutorial St…

RCE多种绕过技巧+贷齐乐漏洞复现

文章目录 1、RCE绕过2、贷齐乐的漏洞复现3、函数绕过 1、RCE绕过 <?php if(isset($_GET[code])){$code $_GET[code];if(strlen($code)>35){die("Long.");}if(preg_match("/[A-Za-z0-9_$]/",$code)){die("NO.");}eval($code); }else{hig…

医疗挂号管理系统

TOC springboot203医疗挂号管理系统 第一章 绪论 1.1 选题背景 目前整个社会发展的速度&#xff0c;严重依赖于互联网&#xff0c;如果没有了互联网的存在&#xff0c;市场可能会一蹶不振&#xff0c;严重影响经济的发展水平&#xff0c;影响人们的生活质量。计算机的发展&…

51单片机-LCD1602显示屏

简介 是一个液晶显示屏&#xff0c;通过电压对显示区域进行控制&#xff0c;有电就显示。 能够同时显示32个字符&#xff0c;分为两行&#xff0c;一行显示16个字符。可以显示的内容只能是字母、数字或者一些特殊符号。 使用ASCII码来让LCD1602来显示对应的字符。 电路图 …

HarmonyOS应用三之组件生命周期和参数传递

目录&#xff1a; 1、生命周期的执行顺序2、页面数据传递3、图片的读取4、数据的备份和恢复5、轮播图6、页面布局图 1、生命周期的执行顺序 /** Copyright (c) 2023 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* yo…

OpenSSL源码编译及Debug

** 1. 环境 Linux 5.19.0-14-generic 22.04.1-Ubuntu 2. 所需工具 gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04) cmake version 3.22.1 3. 步骤 3.1 获取openssl源码 方法可以git clone获得源码&#xff0c;或者直接去GitHub上下载压缩包&#xff0c;GitHub网址&#xf…

4 C 语言变量、printf 基本输出、scanf 基本输入、关键字、标识符及其命名规则

目录 1 为什么需要变量 2 变量的概念 3 变量的声明和使用 3.1 vscode 管理代码 4 printf 输出变量 5 scanf 输入数据赋值给变量 6 标识符 6.1 标识符命名规范 6.1.1 强制规范 6.1.2 建议规范 6.2 关键字 7 案例&#xff1a;求从键盘输入整数的和 8 测试题 1 为什么…

如何用20块钱创建一个国际网站 VC编程网站 www.vcbcw.top

我一直想弄一个网站。 但是网页设计这一块一直没有精力学习。 所以打算先用最少的投入创建一个属于自己的网站。 第一步&#xff1a; 到万网www.net.cn上申请一个域名&#xff0c;8块钱的&#xff0c;10块钱的都有&#xff0c;自己好好想一个名称就行了。 新手&#xff0c…

【重新定义matlab强大系列二十】Matlab显示地球地貌数据

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

探索Java Stream API:高效处理集合的利器

文章目录 一、Stream API简介1.1 什么是Stream&#xff1f;1.2 Stream的特点 二、Stream API的基本操作2.1 创建Stream2.2 中间操作2.3 终端操作 三、Stream API的高级应用3.1 并行Stream3.2 复杂数据处理3.3 Stream与Optional 四、最佳实践例子 1: 筛选和映射例子 2: 排序和收…

【Linux修行路】进程控制——程序替换

目录 ⛳️推荐 一、单进程版程序替换看现象 二、程序替换的基本原理 三、程序替换接口学习 3.1 替换自己写的可执行程序 3.2 第三个参数 envp 验证 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下…