Webpack4构建代码分析webpack-bundle-analyzer
用交互式可缩放树形图显示webpack输出文件的大小。感觉用了之后又高大上了。
实践的上面我还是使用前面文章的项目,没有的可以按照如下的部署进行安装
1 | git clone https://github.com/durban89/webpack4-react16-reactrouter-demo.git react-webpack-demo && cd react-webpack-demo |
下面开始配置并使用webpack-bundle-analyzer
安装
1 | npm install --save-dev webpack-bundle-analyzer |
配置[这里只配置webpack.prod.js]
分别添加如下代码到文件中
1 | const WebpackBundleAnalyzer = require('webpack-bundle-analyzer'); |
添加后结果如下
1 | const path = require('path'); |
运行
1 | npm run build |
结果类似如下图
会自动打开一个浏览器,如下图
是不是很赞,以后我们就可以根据这个来分析打包的情况
我们也可以命令行的方式,操作如下[注意,需要将配置中的new BundleAnalyzerPlugin()注释掉,不然会在下面的操作执行产生冲突而卡住]
1 | npx webpack --config=webpack.prod.js --profile --json > stats.json |
然后执行
1 | npx webpack-bundle-analyzer ./stats.json |
输出如下
1 | Error parsing bundle asset "/Users/durban/nodejs/webpack-react-demo/0.d12185fd8e6117c063c6.bundle.js": no such file |
发现有错误,找不到要分析的文件,更换下执行命令
1 | npx webpack-bundle-analyzer ./stats.json dist |
类似如下输出
1 | Webpack Bundle Analyzer is started at http://127.0.0.1:8888 |
跟上面的类似
项目地址
1 | https://github.com/durban89/webpack4-react16-reactrouter-demo.git |