最近需要减少项目打包后的文件(bundle)的大小,那么首先需要了解bundle的构成。

目前我已知的方法有两种:

  1. 利用webpack-bundle-analyzer插件
  2. 利用webpack官方提供的分析功能

1.webpack-bundle-analyzer

安装插件webpack-bundle-analyzer:

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

修改webpack.config.js

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const config = {
...,
plugins:[
....,
new BundleAnalyzerPlugin(),
]
}


如果不想更改webpack.config.js,仅把分析作为特殊的形式可以采用如下做法:

新建anlyzer.js文件

const config = require("./webpack.config");
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
if(config.plugins){
config.plugins.push(new BundleAnalyzerPlugin());
}else{
config.plugins = [new BundleAnalyzerPlugin()];
}
module.exports = config;

然后在package.json中添加

"scripts": {
"anlyzer": "webpack-dev-server --config ./anlyzer.js",
},

后续想要启动分析的时候就可以用命令启动了:

npm run anlyzer

注:webpack-bundle-analyzer默认使用8888端口,插件npm地址

2.webpack官方

webpack --profile --json > stats.json

会生成一个stats.json文件,然后进入到官方地址上传此文件就行。

http://webpack.github.io/analyse/

如果你的项目很大的话,使用此方法可能会有报错

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

解决方法:

"scripts": {
"uploadeStats": "node --max-old-space-size=4096 ./node_modules/webpack/bin/webpack.js --profile --json > stats.json"
},

然后利用命令启动就可以了:

npm run uploadeStats

注:node --max-old-space-size=4096不够的话可以自己修改更大的值

原文参考地址:https://zhuanlan.zhihu.com/p/85874124

webpack打包分析webpack-bundle-analyzer 打包文件分析工具的更多相关文章

  1. - Gradle 翻译 Analyzer APK文件分析 MD

    目录 目录 APK文件分析 使用 APK 分析器分析您的编译版本 查看文件和大小信息 查看 AndroidManifest.xml 查看 DEX 文件 过滤DEX文件树视图 加载 Proguard 映 ...

  2. 构建-13 Analyzer APK文件分析

    官方文档 使用APK Analyzer分析您的构建  [Analyze your build with APK Analyzer] Android Studio包含一个APK分析器,可在构建过程完成后 ...

  3. 简要分析webpack打包后代码

    开门见山 1.打包单一模块 webpack.config.js module.exports = { entry:"./chunk1.js", output: { path: __ ...

  4. 分析 webpack 打包后的代码

    写在前面的:使用的 webpack 版本 3.0.0 一.开始 1. 准备 当前只创建一个文件 index.js,该文件作为入口文件,代码如下. console.log('hello, world') ...

  5. webpac4k运行webpack .\src\main.js .\dist\bundle.js打包出错

    打包的命令格式:webpack 要打包的文件的路径  打包好的输出文件的路径 运行webpack .\src\main.js .\dist\bundle.js 提示错误,错误信息如下: WARNING ...

  6. webpack快速入门——CSS进阶,Less文件的打包和分离

    1.要使用less,首先使用npm安装less服务 cnpm install less --save-dev 还需要安装Less-loader用来打包使用. cnpm install less-loa ...

  7. webpack快速入门——CSS进阶:SASS文件的打包和分离

    1.安裝:因为sass-loader依赖于node-sass,所以需要先安装node-sass cnpm install node-sass --save-dev cnpm install sass- ...

  8. webpack打包完成,复制,打包,移动,删除已生成的文件插件

    const FileManagerPlugin = require('filemanager-webpack-plugin'); 详情请到 https://www.npmjs.com/ 一看究竟 贴个 ...

  9. 一、Electron + Webpack + Vue 搭建开发环境及打包安装

    目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack  搭建开发环境及打包安装 ------- 打包主进程 Electron + ...

  10. Webpack入门——使用Webpack打包Angular项目的一个例子

    2016.1.22,对大多数人来说,这是一个非常平常的日子,但这却是我决定在博客园写博客的日子.虽然注册博客园的博客已有4年8个月,却一直没有动手写过一篇博客,原因是觉得自己水平不行,写不出好东西,所 ...

随机推荐

  1. 高效XML绑定框架JIBX

    高效XML绑定框架JIBX demo源码地址 https://gitee.com/clover-clover/clover.git 具体路径: clover/clover-frame/clover-f ...

  2. 成品直播源码推荐,java 实现邮件服务

    成品直播源码推荐,java 实现邮件服务 1. 引入maven 依赖  <!--邮件服务--><dependency>   <groupId>org.springf ...

  3. linux查找服务位置

  4. oracle学习之索引的介绍

    在关系型数据库中,用户查找数据与行的物理位置无关紧要.为了能够找到数据,表中的每一行均用一个rowid来标识,rowid能够标识数据库中某一行的具体位置.当Oracle数据库中存储海量的记录时,就意味 ...

  5. Nucmer+LINKVIEW实现序列水平的共线性分析

    https://www.cnblogs.com/johnsonzzz/p/15151634.html https://github.com/YangJianshun/LINKVIEW 可以绘制两个基因 ...

  6. 推测执行 Speculative execution

    如果我们只是靠随便网络上查找一个Speculative这个词的含义,是很难去理解的.但是我们通过查看英文原文去理解,可能就比较清楚地理解了: speculative (adjective) 1. ba ...

  7. 解决在高分屏电脑上的vmware,linux系统的显示比例不正确的问题

    除了在虚拟机系统内改变显示比例为200%的方法,还有另一种方法: 编辑虚拟机设置--硬件--显示器--指定监视器设置,选择任意监视器的最大分辨率为1920x1080(或者比例保持不变的其他分辨率,例如 ...

  8. Drozer实践之sieve

    在模拟器中打开drozer agent 启动连接drozer adb connect 127.0.0.1:xxxxx //adb连接设备,只有模拟器才需要这一步,不同模拟器端口不同 adb forwa ...

  9. element-ui中el-table设置多选checkbox时,selection-change重复执行,以及选不中问题

    项目中使用了elementUI中el-table的选择框.在另外一个地方展示选中的行的数量.设置显示数量之后,选择框就无法选中,change事件执行两次. 解决办法:给el-table设置row-ke ...

  10. 由浅入深学习SAP财务 - 高林旭 PDF 版本

    由浅入深学习SAP财务 - 高林旭  PDF 版本 有需要的联系 wx :erpworld