mf-manifest.json 字段定义

mf-manifest.json 是启用 manifest 后生成的运行时清单文件。它从 mf-stats.json 中提炼出“消费端运行时加载所需”的稳定字段,便于消费端在加载远程模块前快速解析。

对比关系:

  • mf-stats.json:字段更全,适合用于诊断/分析
  • mf-manifest.json:字段更稳定、更精简,适合运行时消费

顶层结构

字段类型必有mf-stats.json说明
idstring本次构建的唯一标识
namestringfederation name
metaDataStatsMetaData构建与远程入口信息
sharedManifestShared[]有(但字段更全)shared 列表(精简字段)
remotesManifestRemote[]有(但字段更全)remotes 列表(精简字段)
exposesManifestExpose[]有(但字段更全)exposes 列表(精简字段)
disableAssetsAnalyze 的影响

当你在 manifest 中配置 disableAssetsAnalyze: true 时,mf-manifest.json 中将不会有 sharedexposes 字段,且 remotes 中也不会有 assets

与 mf-stats.json 的字段差异

metaData(两者都有)

metaData 描述“这个构建产物怎么被消费端加载”以及“本次构建的上下文信息”。mf-stats.jsonmf-manifest.json 都包含该字段。

StatsMetaData

StatsMetaData 有两种互斥形态(只会出现一种):

  • 函数形式getPublicPath: string
  • 字符串形式publicPath: string(可选 ssrPublicPath: string

共同字段如下:

| 字段 | 类型 | 必有 | 说明 | | ---------------- | ---------------- | ---- | ----------------------------- | --- | | name | string | 是 | 当前 remote/host 名称 | | globalName | string | 是 | remoteEntry 对应的 globalName | | buildInfo | StatsBuildInfo | 是 | 构建信息(版本/构建名等) | | remoteEntry | ResourceInfo | 是 | remoteEntry 资源信息 | | ssrRemoteEntry | ResourceInfo | 否 | SSR remoteEntry(若有) | | types | MetaDataTypes | 否 | 类型产物信息(若有) | | type | string | 是 | APP | NPM | | pluginVersion | string | 否 | MF 构建插件版本 |

ResourceInfo

字段类型必有说明
pathstring构建产物内路径(相对路径)
namestring文件名
typeRemoteEntryTyperemoteEntry 的输出格式(例如 var/umd/system/...

StatsBuildInfo

字段类型必有说明
buildVersionstring构建版本
buildNamestring构建名
targetstring[]target 列表
pluginsstring[]treeShaking 插件列表
excludePluginsstring[]treeShaking 排除插件列表

MetaDataTypes

字段类型必有说明
pathstring产物路径
namestring文件名(旧版类型需要,即将废弃)
apistringAPI 类型入口
zipstringzip 包地址/路径

assets(两者都有)

StatsAssets 描述某个条目(shared/expose)的同步/异步资源列表。mf-stats.jsonmf-manifest.json 都会用到该结构。

StatsAssets

字段类型必有说明
jsStatsAssetsInfoJS 资源
cssStatsAssetsInfoCSS 资源

StatsAssetsInfo

字段类型必有说明
syncstring[]初始加载资源
asyncstring[]异步加载资源

shared

mf-manifest.jsonsharedmf-stats.json 的精简版,主要保留版本与资源信息。

字段mf-manifest.jsonmf-stats.json
id
name
version
singleton
requiredVersion
hash
assets
deps
usedIn
usedExports
fallback可选
fallbackName可选
fallbackType可选

remotes

mf-manifest.json 的 remotes 只保留定位与加载所需字段;mf-stats.json 会额外记录消费关系(usedIn 等)。

字段mf-manifest.jsonmf-stats.json
moduleName
federationContainerName
alias
consumingFederationContainerName
usedIn
entry / version(二选一)

exposes

mf-manifest.json 的 exposes 只保留运行时消费端需要的字段。

字段mf-manifest.jsonmf-stats.json
id
name
path
assets
file
requires