webpack 之 performance

不常用但是很好用的配置

编译时警告 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)