需要使用到的插件为 webpack-bundle-analyzer

    配置文件为

    1. const { CleanWebpackPlugin } = require("clean-webpack-plugin");
    2. const WebpackBundleAnalyzer = require("webpack-bundle-analyzer")
    3. .BundleAnalyzerPlugin;
    4. const path = require("path")
    5. module.exports = {
    6. mode: "production",
    7. output: {
    8. path: path.resolve(__dirname, 'dist'),
    9. },
    10. optimization: {
    11. splitChunks: {
    12. // 分包策略
    13. chunks: "all",
    14. }
    15. },
    16. devServer: {
    17. open: true,
    18. port: 9000
    19. },
    20. plugins: [
    21. new CleanWebpackPlugin(),
    22. new WebpackBundleAnalyzer()
    23. ],
    24. };

    index.js 的代码

    1. const $ = require('jquery')
    2. // 懒加载
    3. const { compact } = await import(/* webpackChunkName:"lodash" */"lodash-es"); // lodash-es是使用es6导出的方式导出的,lodash是commonJs的方式导出的
    4. let box = document.getElementsByClassName('box')[0];
    5. box.onclick = async function(){
    6. console.log("box的单击事件触发")
    7. let a = compact([0,"",1,2,false,50])
    8. console.log(a)
    9. }

    打包好后插件会自动运行
    运行结果
    image.png
    可以看到整个bundle的大小信息 stat是打包前的大下 parsed 是打包后的大小 gzipped 是经过gzip压缩后的大小
    当我取消懒加载后的效果图如下,你会发现包的体积变大啦
    image.png