ManifestPlugin

5.103.0+

ينشئ ManifestPlugin المدمج ملف manifest واحدًا للأصول الناتجة من عملية البناء. استخدمه كبديل مدمج عند الانتقال من WebpackManifestPlugin.

webpack.config.js

new webpack.ManifestPlugin({
  // options...
});

الخيارات

entrypoints

boolean = true

يفعّل إنشاء قسم entrypoints داخل ملف manifest.

عند تفعيل entrypoints واستخدام أحد entry points للخيار dependOn:

webpack.config.js

export default {
  entry: {
    entry1: {
      import: "./src/file_1.js",
      dependOn: "entry2",
    },
    entry2: "./src/file_2.js",
  },
  plugins: [
    new webpack.ManifestPlugin({
      filename: "manifest.json",
    }),
  ],
};

سيحتوي ملف manifest الناتج على خريطة توضّح علاقة الأب والابن بين entry points:

manifest.json

{
  "entrypoints": {
    "entry1": {
      "imports": ["entry1.js"],
      "parents": ["entry2"]
    },
    "entry2": {
      "imports": ["entry2.js"]
    }
  }
}

filename

string = manifest.json

يحدد اسم ملف الخرج على القرص. افتراضيًا، ينشئ plugin ملف manifest.json داخل مجلد output.path.

filter

(item: ManifestItem) => boolean

يسمح لك بتصفية الملفات التي ستدخل في manifest.

generate

function (manifest: ManifestObject) => ManifestObject

تستقبل هذه الدالة كائن manifest، ثم تعدّله، ثم ترجع النسخة المعدلة.

prefix

string = "[publicpath]"

يحدد بادئة مسار تُضاف إلى كل المفاتيح داخل manifest.

serialize

function (manifest: ManifestObject) => string = (manifest) => JSON.stringify(manifest, null, 2)

تستقبل هذه الدالة كائن manifest وترجع النص النهائي للـ manifest.

استخدم serialize إذا أردت إخراج manifest بصيغ أخرى، مثل YAML:

new webpack.ManifestPlugin({
  serialize(manifest) {
    return YAML.stringify(manifest, 4);
  },
});
·تعديل هذه الصفحة
السابق ›
LimitChunkCountPlugin

1 مساهم

RlxChap2