一、打包时间的分析

如果我们希望看到每一个loader和plugin消耗的打包时间,可以借助于一个插件:speed-measure-webpakc-plugin

安装:npm i speed-measure-webpack-plugin -D

使用:

// 测量打包时间的插件
const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");
const smp = new SpeedMeasurePlugin(); module.exports = function (env) {
isProduction = env.production;
process.env.NODE_ENV = isProduction ? "production" : "development";
return smp.wrap(
isProduction
? merge(commonConfig, prodConfig)
: merge(commonConfig, devConfig)
);
};

这个插件是有兼容性问题的

如 mini-css-extract-webpack-plugin

怎么解决这个问题?npm i mini-css-extract-webpack-plugin@1.3.6

那么再次npm run build 的时候就可以看到每个插件、loader耗时是多少

二、打包后文件分析

在package.json中的scripts中加入一个脚本
"stats":"webpack --config ./config/webpack.common.js --env production --profile --json=stats"

将打包后的文件生成一个档案,以json格式生成,名字叫stats

通过指向npm run stats可以得到一个stats.json的文件
但是单单阅读这个文件其中的信息并不是显而易见

可以放到:http://webpack.github.io/analyse,进行分析

或者使用webpack-bundle-analyzer

npm i webpack-bundle-analyzer -D

// 打包大小分析的插件
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); plugins:[
new BundleAnalyzerPlugin()
]

当你npm run build 的时候,它会自动打开一个本地服务

24_webpack_打包分析的更多相关文章

  1. H264码流打包分析(精华)

    H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若 ...

  2. create-react-app 搭建的项目中,引入 webpack-bundle-analyzer 打包分析

    安装npm intall webpack-bundle-analyzer --save-dev 在 config/webpack.config.prod.js 文件(推荐)或 config/webpa ...

  3. vue-cli、create-react-app 项目如何查看打包分析?

    vue-cli.create-react-app 项目如何查看打包分析? 项目 如何查看打包分析 vue-cli 创建的项目 已经集成 webpack-bundle-analyzer,运行npm ru ...

  4. webpack之打包分析以及prefetching和preloading

    打包分析: https://webpack.js.org/guides/code-splitting/#bundle-analysis        性能优化使用缓存是很有限的,现在更多的应该是再编写 ...

  5. RTP协议解析及H264/H265 音视频RTP打包分析

    一 概述 实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的. RTP协议详 ...

  6. H264码流打包分析

    转自:http://www.360doc.com/content/13/0124/08/9008018_262076786.shtml   SODB 数据比特串-->最原始的编码数据 RBSP ...

  7. Unity编译Android的原理解析和apk打包分析

    作者介绍:张坤 最近由于想在Scene的脚本组件中,调用Android的Activity的相关接口,就需要弄明白Scene和Activity的实际对应关系,并对Unity调用Android的部分原理进 ...

  8. rn打包分析

    rn打包原来是packager,后来独立出一个专门的打包工具metro,构建工具的大体思路跟前端构建工具差不多,都会有一个启动文件,然后根据模块依赖关系把对应文件找到. 开发中打包 在开发中打包,我们 ...

  9. maven项目打包分析及打包后war包缺少配置文件报错的原因分析,使用progard混淆时配置分析

    1.maven打包: 一直以来我都没太注意过在myeclipse下使用run as来clean居然对项目的target目录没有进行操作,要让操作有效,需要进入到maven build...选项下,进行 ...

  10. vue-cli@webpack@4打包分析命令

    一.命令 npm run build --report 该命令在打包完之后,可以分析包的大小(如下图),从而分析那一块打包太大了可以进行优化处理.

随机推荐

  1. VUE16 检测数据变化的原理

    部分转自:https://www.vue-js.com/topic/6129d7d661c8f900316ae37a 1 简介 Vue采用MVVM(数据驱动视图)的模式,去充当MVVM中的VM层,在数 ...

  2. MRS+LakeFormation:打造一站式湖仓,释放数据价值

    摘要:华为LakeFormation是企业级的一站式湖仓构建服务. 本文分享自华为云社区<华为云MRS支持LakeFormation能力,打造一站式湖仓,释放数据价值]>,作者:break ...

  3. Github认证

    1.前言 Github关闭了密码认证,现在还有两种认证方式 token ssh 本人一直都在使用idea的可视化界面,进行git的操作,第一次使用bash进行初始化时遇到了身份验证的问题.现在简单总结 ...

  4. Nodejs 使用 ZooKeeper 做服务发现

    将单体服务拆分为微服务后,为了服务高可用,一般会做集群多实例.但在分布式下,怎么进行高效.便捷的进行服务访问问题,出现了各类服务注册和服务发现框架.这里使用的是Zookeeper.ZooKeeper ...

  5. 聊聊最近爆火的 CHAT-GPT

    Chat-GPT 以问答的方式呈现给用户,如何使用 Chat-GPT,实际上转换为另一个问题:如何有效地提问. 编写程序 难度为"困难",通过率仅 30.9% 的动态规划题: 很稳 ...

  6. LG P4449 & JZOJ 于神之怒

    \(\text{Problem}\) JZOJ上,求 \[\sum_{i=1}^n \sum_{j=1}^m \gcd(i,j)^k \] 对 \(10^9+7\) 取模 \(n,m,k \le 5 ...

  7. python 操作 WhiteSpace 语言

    python 操作 WhiteSpace语言 目录 python 操作 WhiteSpace语言 1 WhiteSpace 简介 2 Python 操作栈流程 1 WhiteSpace 简介 Whit ...

  8. 代码随想录算法训练营day14 | leetcode 层序遍历 226.翻转二叉树 101.对称二叉树 2

    层序遍历 /** * 二叉树的层序遍历 */ class QueueTraverse { /** * 存放一层一层的数据 */ public List<List<Integer>&g ...

  9. 在VSCode中配置代码自动 eslint 格式化 (实测有用)

    一.Eslint Eslint 是用来检测和规范代码格式的工具,应用在工程化项目中,可以保证项目代码格式的一致性和规范性,大大提升了代码的可读性.   二.配置过程 本博客是讲述对一个已经引用 esl ...

  10. ASP.NET Core - 依赖注入(三)

    4. 容器中的服务创建与释放 我们使用了 IoC 容器之后,服务实例的创建和销毁的工作就交给了容器去处理,前面也讲到了服务的生命周期,那三种生命周期中对象的创建和销毁分别在什么时候呢.以下面的例子演示 ...