需要使用到的插件为 webpack-bundle-analyzer
配置文件为
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const WebpackBundleAnalyzer = require("webpack-bundle-analyzer")
.BundleAnalyzerPlugin;
const path = require("path")
module.exports = {
mode: "production",
output: {
path: path.resolve(__dirname, 'dist'),
},
optimization: {
splitChunks: {
// 分包策略
chunks: "all",
}
},
devServer: {
open: true,
port: 9000
},
plugins: [
new CleanWebpackPlugin(),
new WebpackBundleAnalyzer()
],
};
index.js 的代码
const $ = require('jquery')
// 懒加载
const { compact } = await import(/* webpackChunkName:"lodash" */"lodash-es"); // lodash-es是使用es6导出的方式导出的,lodash是commonJs的方式导出的
let box = document.getElementsByClassName('box')[0];
box.onclick = async function(){
console.log("box的单击事件触发")
let a = compact([0,"",1,2,false,50])
console.log(a)
}
打包好后插件会自动运行
运行结果
可以看到整个bundle的大小信息 stat是打包前的大下 parsed 是打包后的大小 gzipped 是经过gzip压缩后的大小
当我取消懒加载后的效果图如下,你会发现包的体积变大啦