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'falseOutput لا شيء
'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

5.46.0+

قم بتجميع 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

5.46.0+

مساحة للعرض 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,
  },
};
Edit this page·
« Previous
Node

1 Contributor

RlxChap2