美文网首页
webpack 之 performance

webpack 之 performance

作者: __Nancy | 来源:发表于2021-04-26 17:59 被阅读0次

    不常用但是很好用的配置

    编译时警告 entrypoint size limit

    performance

    使用webpack4打包时,运行npm run build:结果报错,提示npm run build: WARNING in asset size limit: The following asset(s) exceed the recommended size limit。提示入口文件过大,超过了默认值,如图:

    image.png

    配置如何展示性能提示。例如,如果一个资源超过 250kb,webpack 会对此输出一个警告来通知你。


    image.png
    • performance.hints

    支持 false | "error" | "warning"

    //不展示警告或错误提示。
    performance: {
      hints: false
    }
    
    // 将展示一条警告,通知你这是体积大的资源。在开发环境,我们推荐这样。
    performance: {
      hints: "warning"
    }
    
    //将展示一条错误,通知你这是体积大的资源。在生产环境构建时,我们推荐使用 hints: "error",有助于防止把体积巨大的 bundle 部署到生产环境,从而影响网页的性能。
    performance: {
      hints: "error"
    }
    
    • performance.maxEntrypointSize
      入口起点表示针对指定的入口,对于所有资源,要充分利用初始加载时(initial load time)期间。此选项根据入口起点的最大体积,控制 webpack 何时生成性能提示。默认值是:250000 (bytes)。
    performance: {
      maxEntrypointSize: 400000
    }
    
    • performance.maxAssetSize
      资源(asset)是从 webpack 生成的任何文件。此选项根据单个资源体积,控制 webpack 何时生成性能提示。默认值是:250000 (bytes)。
    performance: {
      maxAssetSize: 100000
    }
    
    • performance.assetFilter(筛选出自己需要检测体积的包类型,例如.js)
      此属性允许 webpack 控制用于计算性能提示的文件。默认函数如下:
    function(assetFilename) {
        return !(/\.map$/.test(assetFilename))
    };
    

    你可以通过传递自己的函数来覆盖此属性:

    performance: {
      assetFilter: function(assetFilename) {
        return assetFilename.endsWith('.js');
      }
    }
    

    针对第一张图的报错:vue+webpack4.0 中在vue.config.js中配置

    //webpack配置
      configureWebpack: {
            //关闭 webpack 的性能提示
            performance: {
                hints:false
            }
     
            // 或者控制体积大小及提示文件类型
     
            //警告 webpack 的性能提示
            performance: {
                hints:'warning',
                //入口起点的最大体积
                maxEntrypointSize: 60000000,
                //生成文件的最大体积**加粗样式**
                maxAssetSize: 40000000,
                //只给出 js 文件的性能提示
                assetFilter: function(assetFilename) {
                    return assetFilename.endsWith('.js');
                }
            }
        }
    
    

    相关文章

      网友评论

          本文标题:webpack 之 performance

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