ManifestPlugin
ينشئ 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);
},
});


