Stats
object string
يتيح لك خيار stats التحكم الدقيق في المعلومات التي يتم عرضها bundle. يمكن أن يكون هذا حلاً وسطًا جيدًا إذا كنت لا تريد استخدام quiet أو noInfo لأنك تريد بعض معلومات bundle، ولكن ليس كلها.
export default {
// ...
stats: "errors-only",
};Stats الإعدادات المسبقة
يأتي webpack مزودًا ببعض الإعدادات المسبقة المتاحة لـ stats output:
| محددة مسبقا | بديل | الوصف |
|---|---|---|
'errors-only' | لا شيء | فقط output عند حدوث أخطاء |
'errors-warnings' | لا شيء | تحدث أخطاء وتحذيرات output فقط |
'minimal' | لا شيء | فقط output عند حدوث أخطاء أو compilation جديدة |
'none' | false | Output لا شيء |
'normal' | true | قياسي output |
'verbose' | لا شيء | Output كل شيء |
'detailed' | لا شيء | Output كل شيء ما عدا chunkModules وchunkRootModules |
'summary' | لا شيء | Output webpack الإصدار، عدد التحذيرات وعدد الأخطاء |
Stats الخيارات
من الممكن تحديد المعلومات التي تريد رؤيتها في stats output.
stats.all
قيمة احتياطية لخيارات stats عندما لا يتم تعريف الخيار. له الأسبقية على الإعدادات الافتراضية webpack المحلية.
export default {
// ...
stats: {
all: undefined,
},
};stats.assets
boolean = true
يخبر stats ما إذا كان سيتم عرض معلومات asset أم لا. اضبط stats.assets على false لإخفائه.
export default {
// ...
stats: {
assets: false,
},
};stats.assetsSort
string = 'id'
يخبر stats بفرز assets حسب حقل معين. يُسمح باستخدام كافة حقول الفرز كقيم لـ stats.assetsSort. استخدم البادئة ! في القيمة لعكس ترتيب الفرز حسب حقل معين.
export default {
// ...
stats: {
assetsSort: "!size",
},
};stats.assetsSpace
number = 15
يخبر stats بعدد عناصر assets التي يجب عرضها (سيتم طي المجموعات لتناسب هذه المساحة).
export default {
// ...
stats: {
assetsSpace: 15,
},
};stats.builtAt
boolean = true
يخبر stats ما إذا كان يجب إضافة التاريخ build ومعلومات الوقت build. اضبط stats.builtAt على false لإخفائه.
export default {
// ...
stats: {
builtAt: false,
},
};stats.cached
الإصدار القديم من stats.cachedModules.
stats.cachedAssets
boolean = true
يخبر stats ما إذا كان سيتم إضافة معلومات حول المخزن المؤقت assets. سيؤدي ضبط stats.cachedAssets إلى false إلى مطالبة stats بإظهار الملفات المنبعثة فقط (وليس تلك التي تم إنشاؤها).
export default {
// ...
stats: {
cachedAssets: false,
},
};stats.cachedModules
boolean = true
يخبر stats ما إذا كان سيتم إضافة معلومات حول ذاكرة التخزين المؤقت (غير المضمنة) modules.
export default {
// ...
stats: {
cachedModules: false,
},
};stats.children
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول الأطفال.
export default {
// ...
stats: {
children: false,
},
};stats.chunkGroupAuxiliary
boolean = true
عرض المساعد assets في مجموعات chunk.
export default {
// ...
stats: {
chunkGroupAuxiliary: false,
},
};stats.chunkGroupChildren
boolean = true
عرض مجموعات فرعية من chunk (على سبيل المثال، chunks وassets التي تم جلبها مسبقًا، وassets).
export default {
// ...
stats: {
chunkGroupChildren: false,
},
};stats.chunkGroupMaxAssets
number
حد assets المعروض في مجموعات chunk.
export default {
// ...
stats: {
chunkGroupMaxAssets: 5,
},
};stats.chunkGroups
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول namedChunkGroups.
export default {
// ...
stats: {
chunkGroups: false,
},
};stats.chunkModules
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول modules المدمج إلى معلومات حول chunk.
export default {
// ...
stats: {
chunkModules: false,
},
};stats.chunkModulesSpace
number = 10
يخبر stats عدد عناصر chunk modules التي يجب عرضها (سيتم طي المجموعات لتناسب هذه المساحة).
export default {
// ...
stats: {
chunkModulesSpace: 15,
},
};stats.chunkOrigins
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول أصول الدمج chunks وchunk.
export default {
// ...
stats: {
chunkOrigins: false,
},
};stats.chunkRelations
boolean = false
يخبر stats لعرض chunk الآباء والأطفال والأشقاء.
export default {
// ...
stats: {
chunkRelations: false,
},
};stats.chunks
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول chunk. يؤدي ضبط stats.chunks إلى false إلى output أقل تفصيلاً.
export default {
// ...
stats: {
chunks: false,
},
};stats.chunksSort
string = 'id'
يخبر stats بفرز chunks حسب حقل معين. يُسمح باستخدام كافة حقول الفرز كقيم لـ stats.chunksSort. استخدم البادئة ! في القيمة لعكس ترتيب الفرز حسب حقل معين.
export default {
// ...
stats: {
chunksSort: "name",
},
};stats.colors
boolean = false { bold?: string, cyan?: string, green?: string, magenta?: string, red?: string, yellow?: string }
يخبر stats ما إذا كان يجب output بألوان مختلفة.
export default {
// ...
stats: {
colors: true,
},
};وهو متوفر أيضًا كعلامة CLI:
npx webpack --stats-colorsللتعطيل:
npx webpack --no-stats-colorsيمكنك تحديد ألوان output الطرفية الخاصة بك باستخدام تسلسلات الهروب ANSI
export default {
// ...
colors: {
green: "\u001B[32m",
},
};stats.context
string
الدليل الأساسي stats، المسار المطلق لتقصير معلومات الطلب.
import path from "node:path";
import { fileURLToPath } from "node:url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export default {
// ...
stats: {
context: path.resolve(__dirname, "src/components"),
},
};افتراضيًا، يتم استخدام قيمة context أو دليل العمل الحالي Node.js.
stats.dependentModules
boolean
يخبر stats ما إذا كان سيتم إظهار chunk modules التي هي dependencies من modules أخرى من chunk.
export default {
// ...
stats: {
dependentModules: false,
},
};stats.depth
boolean = false
يخبر stats ما إذا كان سيتم عرض المسافة من entry point لكل module.
export default {
// ...
stats: {
depth: true,
},
};stats.entrypoints
boolean = true "auto"
يخبر stats ما إذا كان سيتم عرض entry points مع bundles المقابل.
export default {
// ...
stats: {
entrypoints: false,
},
};عند ضبط stats.entrypoints على 'auto'، سيقرر webpack تلقائيًا ما إذا كان سيتم عرض entry points في stats output.
stats.env
boolean = false
يخبر stats ما إذا كان سيتم عرض معلومات --env أم لا.
export default {
// ...
stats: {
env: true,
},
};stats.errorCause
boolean "auto"
يخبر stats ما إذا كان سيتم تضمين خاصية cause للأخطاء في output. الافتراضي هو true.
export default {
// ...
stats: {
errorCause: true,
},
};stats.errorDetails
boolean "auto"
يخبر stats ما إذا كان يجب إضافة التفاصيل إلى الأخطاء أم لا. يتم تعيينه افتراضيًا على 'auto' والذي سيعرض تفاصيل الخطأ عند وجود خطأين فقط أو أقل.
export default {
// ...
stats: {
errorDetails: false,
},
};stats.errorErrors
boolean "auto"
يخبر stats ما إذا كان سيتم تضمين الأخطاء array من مثيلات AggregateError في output. الافتراضي هو true.
يكون مفيدًا عندما يتكون خطأ واحد من عدة أخطاء أساسية، مما يوفر رؤية أعمق لهياكل الأخطاء المجمعة.
export default {
// ...
stats: {
errorErrors: true,
},
};stats.errorStack
boolean = true
يخبر stats ما إذا كان سيتم إظهار تتبع مكدس الأخطاء.
export default {
// ...
stats: {
errorStack: false,
},
};stats.errors
boolean = true
يخبر stats ما إذا كان سيتم عرض الأخطاء أم لا.
export default {
// ...
stats: {
errors: false,
},
};stats.errorsCount
boolean = true
إضافة عدد الأخطاء.
export default {
// ...
stats: {
errorsCount: false,
},
};stats.errorsSpace
5.80.0+number
يخبر stats بتحديد number للأسطر المخصصة لعرض الخطأ.
export default {
// ...
stats: {
errorsSpace: 5,
},
};stats.exclude
راجع stats.excludeModules.
stats.excludeAssets
array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean
يخبر stats باستبعاد معلومات assets المطابقة. يمكن القيام بذلك باستخدام string، وRegExp، وfunction الذي يحصل على اسم assets كوسيطة ويعيد boolean. stats.excludeAssets يمكن أن يكون array لأي مما سبق.
export default {
// ...
stats: {
excludeAssets: [
"filter",
/filter/,
(assetName) => assetName.contains("moduleA"),
],
},
};stats.excludeModules
array = []: string | RegExp | function (assetName) => boolean string RegExp function (assetName) => boolean boolean: false
يخبر stats باستبعاد معلومات modules المطابقة. يمكن القيام بذلك باستخدام string، وRegExp، وfunction الذي يحصل على مصدر module كوسيطة ويعيد boolean. stats.excludeModules يمكن أن يكون array لأي مما سبق. تخصيص stats.excludeModules تم دمجه مع قيمة تخصيص stats.exclude.
export default {
// ...
stats: {
excludeModules: ["filter", /filter/, (moduleSource) => true],
},
};سيؤدي ضبط stats.excludeModules على false إلى تعطيل سلوك الاستبعاد.
export default {
// ...
stats: {
excludeModules: false,
},
};stats.groupAssetsByChunk
boolean
يخبر stats ما إذا كان سيتم تجميع assets من خلال مدى ارتباطهم بـ chunks.
export default {
// ...
stats: {
groupAssetsByChunk: false,
},
};stats.groupAssetsByEmitStatus
boolean
يخبر stats ما إذا كان سيتم تجميع assets حسب حالته (المنبعث، أو مقارنة بالإصدار، أو المخزن مؤقتًا).
export default {
// ...
stats: {
groupAssetsByEmitStatus: false,
},
};stats.groupAssetsByExtension
boolean
يخبر stats ما إذا كان سيتم تجميع assets حسب امتداده.
export default {
// ...
stats: {
groupAssetsByExtension: false,
},
};stats.groupAssetsByInfo
boolean
يخبر stats ما إذا كان سيتم تجميع assets حسب معلومات asset الخاصة بهم (غير قابلة للتغيير، التطوير، hotModuleReplacement، إلخ).
export default {
// ...
stats: {
groupAssetsByInfo: false,
},
};stats.groupAssetsByPath
boolean
يخبر stats ما إذا كان سيتم تجميع assets حسب مسار asset الخاص بهم.
export default {
// ...
stats: {
groupAssetsByPath: false,
},
};stats.groupModulesByAttributes
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب سماتها (أخطاء، تحذيرات، assets، اختياري، معزول، أو تابع).
export default {
// ...
stats: {
groupModulesByAttributes: false,
},
};stats.groupModulesByCacheStatus
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب حالتهم cache (مخزنة مؤقتًا أو مدمجة وقابلة للتخزين المؤقت).
export default {
// ...
stats: {
groupModulesByCacheStatus: true,
},
};stats.groupModulesByExtension
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب امتداده.
export default {
// ...
stats: {
groupModulesByExtension: true,
},
};stats.groupModulesByLayer
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب طبقته.
export default {
// ...
stats: {
groupModulesByLayer: true,
},
};stats.groupModulesByPath
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب مساره.
export default {
// ...
stats: {
groupModulesByPath: true,
},
};stats.groupModulesByType
boolean
يخبر stats ما إذا كان سيتم تجميع modules حسب نوعها.
export default {
// ...
stats: {
groupModulesByType: true,
},
};stats.groupReasonsByOrigin
boolean
قم بتجميع reasons حسب مصدرها module لتجنب مجموعة كبيرة من الأسباب.
export default {
// ...
stats: {
groupReasonsByOrigin: true,
},
};stats.hash
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول hash لـ compilation.
export default {
// ...
stats: {
hash: false,
},
};stats.ids
boolean = false
يخبر stats بإضافة معرفات modules وchunks.
export default {
// ...
stats: {
ids: true,
},
};stats.logging
string = 'info': 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' boolean
يخبر stats ما إذا كان سيتم إضافة التسجيل output.
'none'،false- تعطيل التسجيل'error'- الأخطاء فقط'warn'- الأخطاء والتحذيرات فقط'info'- الأخطاء والتحذيرات ورسائل المعلومات'log'،true- الأخطاء والتحذيرات ورسائل المعلومات ورسائل السجل والمجموعات والمسح. يتم عرض المجموعات المطوية في حالة مطوية.'verbose'- قم بتسجيل كل شيء باستثناء التصحيح والتتبع. يتم عرض المجموعات المطوية في الحالة الموسعة.
export default {
// ...
stats: {
logging: "verbose",
},
};stats.loggingDebug
array = []: string | RegExp | function (name) => boolean string RegExp function (name) => boolean
يخبر stats بتضمين معلومات التصحيح الخاصة بالمسجلين المحددين مثل Plugins أو loaders. عند ضبط stats.logging على false، يتم تجاهل الخيار stats.loggingDebug.
export default {
// ...
stats: {
loggingDebug: [
"MyPlugin",
/MyPlugin/,
/webpack/, // To get core logging
(name) => name.contains("MyPlugin"),
],
},
};stats.loggingTrace
boolean = true
تمكين تتبعات المكدس في التسجيل output للأخطاء والتحذيرات والتتبعات. اضبط stats.loggingTrace لإخفاء الأثر.
export default {
// ...
stats: {
loggingTrace: false,
},
};stats.moduleAssets
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول assets داخل modules. اضبط stats.moduleAssets على false لإخفائه.
export default {
// ...
stats: {
moduleAssets: false,
},
};stats.moduleTrace
boolean = true
يخبر stats لإظهار dependencies وأصل التحذيرات/الأخطاء. stats.moduleTrace متاح منذ webpack 2.5.0.
export default {
// ...
stats: {
moduleTrace: false,
},
};stats.modules
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول modules المدمج.
export default {
// ...
stats: {
modules: false,
},
};stats.modulesSort
string = 'id'
يخبر stats بفرز modules حسب حقل معين. يُسمح باستخدام كافة حقول الفرز كقيم لـ stats.modulesSort. استخدم البادئة ! في القيمة لعكس ترتيب الفرز حسب حقل معين.
export default {
// ...
stats: {
modulesSort: "size",
},
};stats.modulesSpace
number = 15
يخبر stats بعدد عناصر modules التي يجب عرضها (سيتم طي المجموعات لتناسب هذه المساحة).
export default {
// ...
stats: {
modulesSpace: 15,
},
};stats.nestedModules
boolean
يخبر stats ما إذا كان يجب إضافة معلومات حول modules متداخلة في modules أخرى (مثل سلسلة module).
export default {
// ...
stats: {
nestedModules: true,
},
};stats.nestedModulesSpace
number = 10
يخبر stats عدد عناصر modules المتداخلة التي يجب عرضها (سيتم طي المجموعات لتناسب هذه المساحة).
export default {
// ...
stats: {
nestedModulesSpace: 15,
},
};stats.optimizationBailout
boolean
يخبر stats لإظهار أسباب إنقاذ optimization لـ modules.
export default {
// ...
stats: {
optimizationBailout: false,
},
};stats.orphanModules
boolean = false
يخبر stats ما إذا كان سيتم إخفاء orphan modules. module هو orphan إذا لم يتم تضمينه في أي chunk. يتم إخفاء اليتيم modules بشكل افتراضي في stats.
export default {
// ...
stats: {
orphanModules: true,
},
};stats.outputPath
boolean = true
يخبر stats لإظهار outputPath.
export default {
// ...
stats: {
outputPath: false,
},
};stats.performance
boolean = true
يخبر stats بإظهار performance تلميح عندما يتجاوز حجم الملف performance.maxAssetSize.
export default {
// ...
stats: {
performance: false,
},
};stats.preset
string boolean: false
يضبط الإعداد المسبق لنوع المعلومات التي يتم عرضها. إنه مفيد لـ توسيع سلوكيات stats.
export default {
// ...
stats: {
preset: "minimal",
},
};يؤدي ضبط قيمة stats.preset إلى false إلى إخبار webpack باستخدام 'none' stats الإعداد المسبق.
stats.providedExports
boolean = false
يخبر stats لإظهار صادرات modules.
export default {
// ...
stats: {
providedExports: true,
},
};stats.publicPath
boolean = true
يخبر stats لإظهار publicPath.
export default {
// ...
stats: {
publicPath: false,
},
};stats.reasons
boolean = true
يخبر stats بإضافة معلومات حول أسباب تضمين modules.
export default {
// ...
stats: {
reasons: false,
},
};stats.reasonsSpace
number
مساحة للعرض reasons (سيتم طي المجموعات لتناسب هذه المساحة).
export default {
// ...
stats: {
reasonsSpace: 1000,
},
};stats.relatedAssets
boolean = false
يخبر stats ما إذا كان يجب إضافة معلومات حول assets المرتبطة بـ assets أخرى (مثل Source Maps لـ assets).
export default {
// ...
stats: {
relatedAssets: true,
},
};stats.runtimeModules
boolean = true
يخبر stats ما إذا كان يجب إضافة معلومات حول runtime modules.
export default {
// ...
stats: {
runtimeModules: false,
},
};stats.source
boolean = false
يخبر stats بإضافة الكود المصدري لـ modules.
export default {
// ...
stats: {
source: true,
},
};stats.timings
boolean = true
يخبر stats بإضافة معلومات التوقيت.
export default {
// ...
stats: {
timings: false,
},
};stats.usedExports
boolean = false
يخبر stats ما إذا كان سيتم إظهار عمليات تصدير module المستخدمة أم لا.
export default {
// ...
stats: {
usedExports: true,
},
};stats.version
boolean = true
يخبر stats بإضافة معلومات حول إصدار webpack المستخدم.
export default {
// ...
stats: {
version: false,
},
};stats.warnings
boolean = true
يخبر stats بإضافة تحذيرات.
export default {
// ...
stats: {
warnings: false,
},
};stats.warningsCount
boolean = true
إضافة عدد التحذيرات.
export default {
// ...
stats: {
warningsCount: false,
},
};stats.warningsFilter
array = []: string | RegExp | function (warning) => boolean string RegExp function (warning) => boolean
يخبر stats باستبعاد التحذيرات التي تطابق المرشحات المحددة. يمكن القيام بذلك باستخدام string، وRegExp، وfunction الذي يحصل على تحذير كوسيطة ويعيد boolean. stats.warningsFilter يمكن أن يكون array لأي مما سبق.
export default {
// ...
stats: {
warningsFilter: ["filter", /filter/, (warning) => true],
},
};stats.warningsSpace
5.80.0+number
يخبر stats بتحديد number للأسطر المخصصة لعرض التحذير.
export default {
// ...
stats: {
warningsSpace: 5,
},
};فرز الحقول
بالنسبة إلى assetsSort وchunksSort وmodulesSort هناك العديد من الحقول المحتملة التي يمكنك فرز العناصر حسبها:
'id'- معرف العنصر،'name'- اسم العنصر الذي تم تخصيصه له عند الاستيراد،'size'- حجم العنصر بالبايت،'chunks'- ما chunks الذي ينشأ منه العنصر (على سبيل المثال، إذا كان هناك عدة أجزاء فرعية لواحد chunk: سيتم تجميع الأجزاء الفرعية وفقًا لـ chunk الرئيسي)،'errors'- number من الأخطاء في العناصر،'warnings'- number من التحذيرات في العناصر،'failed'- ما إذا كان العنصر قد فشل compilation،'cacheable'- ما إذا كان العنصر قابلاً للتخزين المؤقت،'built'- ما إذا كان قد تم بناء asset أم لا،'prefetched'- ما إذا كان سيتم جلب asset مسبقًا أم لا،'optional'- ما إذا كان asset اختياريًا.'identifier'- معرف العنصر.'index'- فهرس معالجة العنصر.'index2''profile''issuer'- معرف جهة الإصدار.'issuerId'- معرف جهة الإصدار.'issuerName'- اسم المُصدر.'issuerPath'- مُصدر كامل object. ليست هناك حاجة حقيقية للفرز حسب هذا الحقل.
توسيع سلوكيات stats
إذا كنت تريد استخدام أحد الإعدادات المسبقة على سبيل المثال، 'minimal' ولكن لا يزال يتجاوز بعض القواعد: حدد stats.preset المطلوب وأضف القواعد المخصصة أو الإضافية بعد ذلك.
webpack.config.js
export default {
// ..
stats: {
preset: "minimal",
moduleTrace: true,
errorDetails: true,
},
};


