ManifestPlugin 插件
webpackjsorg-main插件参考
ManifestPlugin 插件
自 webpack 5.103.0+ 起可用。
内置的 ManifestPlugin 会为你的构建生成一份资源 manifest。移植自 WebpackManifestPlugin。
webpack.config.js
js
new webpack.ManifestPlugin({
// options...
});
选项
entrypoints
boolean = true
启用 manifest 中 entrypoints 部分的生成。
当 entrypoints 启用且某个入口使用了 dependOn 时
webpack.config.js
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 将包含父/子关系映射
manifest.json
json
{
"entrypoints": {
"entry1": {
"imports": ["entry1.js"],
"parents": ["entry2"]
},
"entry2": {
"imports": ["entry2.js"]
}
}
}
filename
string = manifest.json
指定输出文件在磁盘上的文件名。默认情况下,插件会在 output.path 目录内生成 manifest.json。
filter
(item: ManifestItem) => boolean
允许过滤构成 manifest 的文件。
generate
function (manifest: ManifestObject) => ManifestObject
接收 manifest 对象,对其进行修改,并返回修改后的 manifest。
prefix
string = "[publicpath]"
为 manifest 中的所有 key 指定路径前缀。
serialize
function (manifest: ManifestObject) => string = (manifest) => JSON.stringify(manifest, null, 2)
接收 manifest 对象并返回 manifest 字符串。
使用 serialize 输出其他格式,例如 YAML:
js
new webpack.ManifestPlugin({
serialize(manifest) {
return YAML.stringify(manifest, 4);
},
});
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
