統計資料

object string

stats 選項可讓您精確控制要顯示哪些套件資訊。如果您不想使用 quietnoInfo,但仍想要一些套件資訊(而非全部),這會是一個不錯的折衷方案。

module.exports = {
  //...
  stats: 'errors-only',
};

統計預設

Webpack 附帶某些可供統計輸出使用的預設

預設備用說明
'errors-only'none僅在發生錯誤時輸出
'errors-warnings'none僅輸出錯誤和警告
'minimal'none僅在發生錯誤或新編譯時輸出
'none'false不輸出任何內容
'normal'true標準輸出
'verbose'none輸出所有內容
'detailed'none輸出所有內容,但 chunkModuleschunkRootModules 除外
'summary'none輸出 webpack 版本、警告數和錯誤數

統計選項

您可以指定要在統計輸出中看到的資訊。

stats.all

當未定義選項時,統計選項的備用值。它優先於本機 webpack 預設值。

module.exports = {
  //...
  stats: {
    all: undefined,
  },
};

stats.assets

布林值 = true

告訴 stats 是否顯示資產資訊。將 stats.assets 設為 false 以隱藏它。

module.exports = {
  //...
  stats: {
    assets: false,
  },
};

stats.assetsSort

字串 = 'id'

指示 stats 按照給定欄位對資產進行排序。所有 排序欄位 都可以用作 stats.assetsSort 的值。在值中使用 ! 前綴以反轉給定欄位的排序順序。

module.exports = {
  //...
  stats: {
    assetsSort: '!size',
  },
};

stats.builtAt

布林值 = true

指示 stats 是否要新增建置日期和建置時間資訊。將 stats.builtAt 設定為 false 以隱藏它。

module.exports = {
  //...
  stats: {
    builtAt: false,
  },
};

stats.moduleAssets

布林值 = true

指示 stats 是否要新增模組內資產的資訊。將 stats.moduleAssets 設定為 false 以隱藏它。

module.exports = {
  //...
  stats: {
    moduleAssets: false,
  },
};

stats.assetsSpace

數字 = 15

指示 stats 應顯示多少個資產項目(群組將摺疊以符合此空間)。

module.exports = {
  //...
  stats: {
    assetsSpace: 15,
  },
};

stats.modulesSpace

數字 = 15

指示 stats 應顯示多少個模組項目(群組將摺疊以符合此空間)。

module.exports = {
  //...
  stats: {
    modulesSpace: 15,
  },
};

stats.chunkModulesSpace

數字 = 10

指示 stats 應顯示多少個區塊模組項目(群組將摺疊以符合此空間)。

module.exports = {
  //...
  stats: {
    chunkModulesSpace: 15,
  },
};

stats.nestedModules

布林值

指示 stats 是否要新增嵌套在其他模組中的模組資訊(例如模組串接)。

module.exports = {
  //...
  stats: {
    nestedModules: true,
  },
};

stats.nestedModulesSpace

數字 = 10

指示 stats 應顯示多少個嵌套模組項目(群組將摺疊以符合此空間)。

module.exports = {
  //...
  stats: {
    nestedModulesSpace: 15,
  },
};

stats.cached

stats.cachedModules 的舊版本。

stats.cachedModules

布林值 = true

告訴 stats 是否要加入關於快取(未建置)模組的資訊。

module.exports = {
  //...
  stats: {
    cachedModules: false,
  },
};

stats.runtimeModules

布林值 = true

告訴 stats 是否要加入關於執行時期模組的資訊。

module.exports = {
  //...
  stats: {
    runtimeModules: false,
  },
};

stats.dependentModules

布林值

告訴 stats 是否要顯示區塊中其他模組的相依模組。

module.exports = {
  //...
  stats: {
    dependentModules: false,
  },
};

stats.groupAssetsByChunk

布林值

告訴 stats 是否要依據資產與區塊的關聯性來分組資產。

module.exports = {
  //...
  stats: {
    groupAssetsByChunk: false,
  },
};

stats.groupAssetsByEmitStatus

布林值

告訴 stats 是否要依據資產狀態(已發出、已比較要發出或快取)來分組資產。

module.exports = {
  //...
  stats: {
    groupAssetsByEmitStatus: false,
  },
};

stats.groupAssetsByExtension

布林值

告訴 stats 是否要依據資產副檔名來分組資產。

module.exports = {
  //...
  stats: {
    groupAssetsByExtension: false,
  },
};

stats.groupAssetsByInfo

布林值

告訴 stats 是否要依據資產資訊(不可變、開發、熱模組替換等)來分組資產。

module.exports = {
  //...
  stats: {
    groupAssetsByInfo: false,
  },
};

stats.groupAssetsByPath

布林值

告訴 stats 是否要依據資產路徑來分組資產。

module.exports = {
  //...
  stats: {
    groupAssetsByPath: false,
  },
};

stats.groupModulesByAttributes

布林值

告訴 stats 是否要依據模組屬性(錯誤、警告、資產、選用、孤立或相依)來分組模組。

module.exports = {
  //...
  stats: {
    groupModulesByAttributes: false,
  },
};

stats.groupModulesByCacheStatus

布林值

告訴 stats 是否依據快取狀態(快取或已建置且可快取)將模組分組。

module.exports = {
  //...
  stats: {
    groupModulesByCacheStatus: true,
  },
};

stats.groupModulesByExtension

布林值

告訴 stats 是否依據副檔名將模組分組。

module.exports = {
  //...
  stats: {
    groupModulesByExtension: true,
  },
};

stats.groupModulesByLayer

布林值

告訴 stats 是否依據圖層將模組分組。

module.exports = {
  //...
  stats: {
    groupModulesByLayer: true,
  },
};

stats.groupModulesByPath

布林值

告訴 stats 是否依據路徑將模組分組。

module.exports = {
  //...
  stats: {
    groupModulesByPath: true,
  },
};

stats.groupModulesByType

布林值

告訴 stats 是否依據類型將模組分組。

module.exports = {
  //...
  stats: {
    groupModulesByType: true,
  },
};

stats.groupReasonsByOrigin

布林值

5.46.0+

依據原始模組將 reasons 分組,以避免產生大量的理由。

module.exports = {
  //...
  stats: {
    groupReasonsByOrigin: true,
  },
};

stats.cachedAssets

布林值 = true

告訴 stats 是否要新增關於快取資產的資訊。將 stats.cachedAssets 設為 false 會告訴 stats 只顯示已發出的檔案(而非已建置的檔案)。

module.exports = {
  //...
  stats: {
    cachedAssets: false,
  },
};

stats.children

布林值 = true

告訴 stats 是否要新增關於子項的資訊。

module.exports = {
  //...
  stats: {
    children: false,
  },
};

stats.chunks

布林值 = true

告訴 stats 是否要新增區塊資訊。將 stats.chunks 設定為 false 會產生較簡潔的輸出。

module.exports = {
  //...
  stats: {
    chunks: false,
  },
};

stats.chunkGroups

布林值 = true

告訴 stats 是否要新增 namedChunkGroups 資訊。

module.exports = {
  //...
  stats: {
    chunkGroups: false,
  },
};

stats.chunkModules

布林值 = true

告訴 stats 是否要新增區塊資訊中已建置模組的資訊。

module.exports = {
  //...
  stats: {
    chunkModules: false,
  },
};

stats.chunkOrigins

布林值 = true

告訴 stats 是否要新增區塊來源和區塊合併的資訊。

module.exports = {
  //...
  stats: {
    chunkOrigins: false,
  },
};

stats.chunksSort

字串 = 'id'

告訴 stats 依據指定欄位排序區塊。所有 排序欄位 都可以用作 stats.chunksSort 的值。在值中使用 ! 前綴可依據指定欄位反向排序。

module.exports = {
  //...
  stats: {
    chunksSort: 'name',
  },
};

stats.context

字串

stats 基礎目錄,用於縮短要求資訊的絕對路徑

const path = require('path');

module.exports = {
  //...
  stats: {
    context: path.resolve(__dirname, 'src/components'),
  },
};

預設情況下,會使用 context 的值或 Node.js 目前的工作目錄。

stats.colors

boolean = false object

告訴 stats 是否要以不同顏色輸出。

module.exports = {
  //...
  stats: {
    colors: true,
  },
};

它也可以用作 CLI 旗標

npx webpack --stats-colors

要停用

npx webpack --no-stats-colors

你可以使用 ANSI 逸出序列 指定自己的終端機輸出顏色

module.exports = {
  //...
  colors: {
    green: '\u001b[32m',
  },
};

stats.depth

布林值 = false

告知 stats 是否顯示每個模組的入口點距離。

module.exports = {
  //...
  stats: {
    depth: true,
  },
};

stats.entrypoints

布林值 = true 字串 = 'auto'

告知 stats 是否顯示對應套件的入口點。

module.exports = {
  //...
  stats: {
    entrypoints: false,
  },
};

stats.entrypoints 設為 'auto' 時,webpack 將自動決定是否在 stats 輸出中顯示入口點。

stats.env

布林值 = false

告知 stats 是否顯示 --env 資訊。

module.exports = {
  //...
  stats: {
    env: true,
  },
};

stats.orphanModules

布林值 = false

告知 stats 是否隱藏 orphan 模組。模組為 orphan 表示它未包含在任何區塊中。orphan 模組在 stats 中預設為隱藏。

module.exports = {
  //...
  stats: {
    orphanModules: true,
  },
};

stats.errors

布林值 = true

告知 stats 是否顯示錯誤。

module.exports = {
  //...
  stats: {
    errors: false,
  },
};

stats.errorDetails

布林值 字串 = "auto"

告知 stats 是否將詳細資訊新增至錯誤。預設為 'auto',表示當錯誤數目為 2 或更少時,將顯示錯誤詳細資訊。

module.exports = {
  //...
  stats: {
    errorDetails: false,
  },
};

stats.errorStack

布林值 = true

告知 stats 是否顯示錯誤的堆疊追蹤。

module.exports = {
  //...
  stats: {
    errorStack: false,
  },
};

stats.errorsSpace

5.80.0+

數字

告知 stats 限制配置顯示錯誤的行數。

module.exports = {
  //...
  stats: {
    errorsSpace: 5,
  },
};

stats.excludeAssets

陣列 = []: 字串 | RegExp | 函式 (assetName) => 布林值 字串 RegExp 函式 (assetName) => 布林值

告訴 stats 排除符合條件的資產資訊。這可以使用 字串正規表示法、將資產名稱作為引數並傳回 布林值函式 來完成。stats.excludeAssets 可以是上述任何一個的 陣列

module.exports = {
  //...
  stats: {
    excludeAssets: [
      'filter',
      /filter/,
      (assetName) => assetName.contains('moduleA'),
    ],
  },
};

stats.excludeModules

陣列 = []: 字串 | 正規表示法 | 函式 (assetName) => 布林值 字串 正規表示法 函式 (assetName) => 布林值 布林值: false

告訴 stats 排除符合條件的模組資訊。這可以使用 字串正規表示法、將模組來源作為引數並傳回 布林值函式 來完成。stats.excludeModules 可以是上述任何一個的 陣列stats.excludeModules 的組態 已合併stats.exclude 的組態值。

module.exports = {
  //...
  stats: {
    excludeModules: ['filter', /filter/, (moduleSource) => true],
  },
};

stats.excludeModules 設定為 false 會停用排除行為。

module.exports = {
  //...
  stats: {
    excludeModules: false,
  },
};

stats.exclude

請參閱 stats.excludeModules

stats.hash

布林值 = true

告訴 stats 是否要新增編譯雜湊的資訊。

module.exports = {
  //...
  stats: {
    hash: false,
  },
};

stats.logging

字串 = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' 布林值

告訴 stats 是否要新增記錄輸出。

  • 'none'false - 停用記錄
  • 'error' - 僅錯誤
  • 'warn' - 僅錯誤和警告
  • 'info' - 錯誤、警告和資訊訊息
  • 'log'true - 錯誤、警告、資訊訊息、記錄訊息、群組、清除。已收合的群組會以收合的狀態顯示。
  • 'verbose' - 記錄除偵錯和追蹤以外的所有內容。已收合的群組會以展開狀態顯示。
module.exports = {
  //...
  stats: {
    logging: 'verbose',
  },
};

stats.loggingDebug

array = []: string | RegExp | function (name) => boolean string RegExp function (name) => boolean

指示 stats 納入指定記錄器的偵錯資訊,例如外掛程式或載入器。當 stats.logging 設為 false 時,將忽略 stats.loggingDebug 選項。

module.exports = {
  //...
  stats: {
    loggingDebug: [
      'MyPlugin',
      /MyPlugin/,
      /webpack/, // To get core logging
      (name) => name.contains('MyPlugin'),
    ],
  },
};

stats.loggingTrace

布林值 = true

在錯誤、警告和追蹤的記錄輸出中啟用堆疊追蹤。將 stats.loggingTrace 設為隱藏追蹤。

module.exports = {
  //...
  stats: {
    loggingTrace: false,
  },
};

stats.modules

布林值 = true

指示 stats 是否要新增已建置模組的資訊。

module.exports = {
  //...
  stats: {
    modules: false,
  },
};

stats.modulesSort

字串 = 'id'

指示 stats 依照特定欄位對模組進行排序。所有 排序欄位 都可以作為 stats.modulesSort 的值。在值中使用 ! 前綴,可以反向依據特定欄位進行排序。

module.exports = {
  //...
  stats: {
    modulesSort: 'size',
  },
};

stats.moduleTrace

布林值 = true

指示 stats 顯示相依性和警告/錯誤的來源。stats.moduleTrace 自 webpack 2.5.0 起可用。

module.exports = {
  //...
  stats: {
    moduleTrace: false,
  },
};

stats.optimizationBailout

布林值

指示 stats 顯示最佳化放棄模組的原因。

module.exports = {
  //...
  stats: {
    optimizationBailout: false,
  },
};

stats.outputPath

布林值 = true

指示 stats 顯示 outputPath

module.exports = {
  //...
  stats: {
    outputPath: false,
  },
};

stats.performance

布林值 = true

指示 stats 在檔案大小超過 performance.maxAssetSize 時顯示效能提示。

module.exports = {
  //...
  stats: {
    performance: false,
  },
};

stats.preset

string boolean: false

設定 預設值 以顯示資訊類型。這對於 延伸統計行為 很實用。

module.exports = {
  //...
  stats: {
    preset: 'minimal',
  },
};

stats.preset 值設定為 false 會指示 webpack 使用 'none' 統計預設值

stats.providedExports

布林值 = false

指示 stats 顯示模組的 exports。

module.exports = {
  //...
  stats: {
    providedExports: true,
  },
};

stats.errorsCount

布林值 = true

加入錯誤計數。

module.exports = {
  //...
  stats: {
    errorsCount: false,
  },
};

stats.warningsCount

布林值 = true

加入警告計數。

module.exports = {
  //...
  stats: {
    warningsCount: false,
  },
};

stats.publicPath

布林值 = true

指示 stats 顯示 publicPath

module.exports = {
  //...
  stats: {
    publicPath: false,
  },
};

stats.reasons

布林值 = true

指示 stats 加入關於模組包含原因的資訊。

module.exports = {
  //...
  stats: {
    reasons: false,
  },
};

stats.reasonsSpace

數字

5.46.0+

顯示 reasons 的空間(群組會縮小以符合此空間)。

module.exports = {
  //...
  stats: {
    reasonsSpace: 1000,
  },
};

stats.relatedAssets

布林值 = false

指示 stats 是否加入關於與其他資源相關的資源的資訊(例如資源的 SourceMaps)。

module.exports = {
  //...
  stats: {
    relatedAssets: true,
  },
};

stats.source

布林值 = false

指示 stats 加入模組的原始碼。

module.exports = {
  //...
  stats: {
    source: true,
  },
};

stats.timings

布林值 = true

告知 stats 新增計時資訊。

module.exports = {
  //...
  stats: {
    timings: false,
  },
};

stats.ids

布林值 = false

告知 stats 新增模組和區塊的 ID。

module.exports = {
  //...
  stats: {
    ids: true,
  },
};

stats.usedExports

布林值 = false

告知 stats 是否要顯示模組中哪些輸出被使用。

module.exports = {
  //...
  stats: {
    usedExports: true,
  },
};

stats.version

布林值 = true

告知 stats 新增關於所使用 webpack 版本的資訊。

module.exports = {
  //...
  stats: {
    version: false,
  },
};

stats.chunkGroupAuxiliary

布林值 = true

在區塊群組中顯示輔助資產。

module.exports = {
  //...
  stats: {
    chunkGroupAuxiliary: false,
  },
};

stats.chunkGroupChildren

布林值 = true

顯示區塊群組的子項目(例如預先擷取、預先載入的區塊和資產)。

module.exports = {
  //...
  stats: {
    chunkGroupChildren: false,
  },
};

stats.chunkGroupMaxAssets

數字

顯示在區塊群組中的資產限制。

module.exports = {
  //...
  stats: {
    chunkGroupMaxAssets: 5,
  },
};

stats.warnings

布林值 = true

告知 stats 新增警告。

module.exports = {
  //...
  stats: {
    warnings: false,
  },
};

stats.warningsSpace

5.80.0+

數字

告知 stats 限制顯示警告時要配置的行數。

module.exports = {
  //...
  stats: {
    warningsSpace: 5,
  },
};

stats.warningsFilter

array = []: string | RegExp | function (warning) => boolean string RegExp function (warning) => boolean

指示 stats 排除符合給定篩選條件的警告。這可以使用 字串正規表示法函式(將警告作為引數並傳回 布林值)來完成。stats.warningsFilter 可以是上述任何類型的 陣列

module.exports = {
  //...
  stats: {
    warningsFilter: ['filter', /filter/, (warning) => true],
  },
};

stats.chunkRelations

布林值 = false

指示 stats 顯示區塊父項、子項和同層項。

排序欄位

對於 assetsSortchunksSortmodulesSort,有幾個可能的欄位可供您用來對項目進行排序

  • 'id' - 項目的 id,
  • 'name' - 導入時指定給項目的名稱,
  • 'size' - 項目的大小(以位元組為單位),
  • 'chunks' - 項目來自哪些區塊(例如,如果一個區塊有多個子區塊:子區塊將根據其主區塊進行分組),
  • 'errors' - 項目中的錯誤數目,
  • 'warnings' - 項目中的警告數目,
  • 'failed' - 項目是否編譯失敗,
  • 'cacheable' - 項目是否可快取,
  • 'built' - 資產是否已建置,
  • 'prefetched' - 資產是否會被預先擷取,
  • 'optional' - 資產是否為選用。
  • 'identifier' - 項目的識別碼。
  • 'index' - 項目的處理索引。
  • 'index2'
  • 'profile'
  • 'issuer' - 簽發者的識別碼。
  • 'issuerId' - 發行者 ID。
  • 'issuerName' - 發行者名稱。
  • 'issuerPath' - 完整的發行者物件。沒有必要依據此欄位排序。

延伸統計行為

如果您想使用其中一個預設值,例如 'minimal',但仍覆寫一些規則:請指定所需的 stats.preset,然後新增自訂或其他規則。

webpack.config.js

module.exports = {
  //..
  stats: {
    preset: 'minimal',
    moduleTrace: true,
    errorDetails: true,
  },
};

15 貢獻者

SpaceK33zsallarjungomildrickjasonblanchardbyzykrenjithspaceRaiondesuEugeneHlushkogrguranshumanvpixel-raysnitin315u01jmg3