美文网首页webpack学习
解决The following entrypoint(s) co

解决The following entrypoint(s) co

作者: 景元合 | 来源:发表于2020-04-17 17:10 被阅读0次

    前言

    前几天手动搭建了框架,在运行npm run build时候,提示

    WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
    

    一开始以为是自己的main.js没有拆分彻底,于是使用bundleAnalyzerReport查看了一下打包分析,


    image.png

    以为是vconsole.js过大,于是使用splitChunks将分离了出来,然后打包,此时vconsole已经从vendor.js中分离出来,


    image.png

    可很悲催,还是提示

    WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
    Entrypoints:
      main (251 KiB)
          js/0.34c48baf0fd5c4c1e719.js
          js/2.1d61c0f081cc46e6105f.js
          js/main.a3a4c3ed7a8d332462ad.js
    

    于是不得不修改performance的属性,

    image.png
    • maxEntrypointSize
      入口起点的最大体积,这个参数代表入口加载时候最大体积,也是自己将vconsole.js分离出来不生效原因,自己直接将其改为了1M,
    • maxAssetSize
      此选项根据单个资源体积,控制 webpack 何时生成性能提示,自己将其改成了200kb
    • assetFilter
      属性允许 webpack 控制用于计算性能提示的文件,通过覆盖原有属性,将其改成只对js文件进行性能测试。
      最后改成如下配置:
    performance: {
            maxEntrypointSize: 1000000,
            maxAssetSize: 200000,
            assetFilter: function(assetFilename) {
                return assetFilename.endsWith('.js');
            }
        }
    

    当然要是嫌弃太麻烦,可以直接配置hints为false,但是官方强烈不建议,毕竟对网页性能很不友好。

    总结

    通过一句warn提示,主要配合使用bundleAnalyzerReport修改webpack的performance、splitChunks对框架性能性能进行了优化,webpack优化之路还很长,还需继续加油

    相关文章

      网友评论

        本文标题:解决The following entrypoint(s) co

        本文链接:https://www.haomeiwen.com/subject/nspyvhtx.html