性能(performance)

这些选项可以控制 webpack 如何通知「资源(asset)和入口起点超过指定文件限制」。 此功能受到 webpack 性能评估的启发。

performance

object

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

performance.hints

false | "error" | "warning"

打开/关闭提示。此外,当找到提示时,告诉 webpack 抛出一个错误或警告。此属性默认设置为 "warning"

给定一个创建后超过 250kb 的资源:

  1. module.exports = {
  2. //...
  3. performance: {
  4. hints: false
  5. }
  6. };

不展示警告或错误提示。

  1. module.exports = {
  2. //...
  3. performance: {
  4. hints: 'warning'
  5. }
  6. };

将展示一条警告,通知你这是体积大的资源。在开发环境,我们推荐这样。

  1. module.exports = {
  2. //...
  3. performance: {
  4. hints: 'error'
  5. }
  6. };

将展示一条错误,通知你这是体积大的资源。在生产环境构建时,我们推荐使用 hints: "error",有助于防止把体积巨大的 bundle 部署到生产环境,从而影响网页的性能。

performance.maxEntrypointSize

int

入口起点表示针对指定的入口,对于所有资源,要充分利用初始加载时(initial load time)期间。此选项根据入口起点的最大体积,控制 webpack 何时生成性能提示。默认值是:250000 (bytes)。

  1. module.exports = {
  2. //...
  3. performance: {
  4. maxEntrypointSize: 400000
  5. }
  6. };

performance.maxAssetSize

int

资源(asset)是从 webpack 生成的任何文件。此选项根据单个资源体积,控制 webpack 何时生成性能提示。默认值是:250000 (bytes)。

  1. module.exports = {
  2. //...
  3. performance: {
  4. maxAssetSize: 100000
  5. }
  6. };

performance.assetFilter

Function

此属性允许 webpack 控制用于计算性能提示的文件。默认函数如下:

  1. function assetFilter(assetFilename) {
  2. return !(/\.map$/.test(assetFilename));
  3. }

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

  1. module.exports = {
  2. //...
  3. performance: {
  4. assetFilter: function(assetFilename) {
  5. return assetFilename.endsWith('.js');
  6. }
  7. }
  8. };

以上示例将只给出 .js 文件的性能提示。


贡献人员

byzyk byzyk madhavarshney madhavarshney tbroadley tbroadley thelarkinn thelarkinn