- 确认应用程序和所有子模块都使用相同的 Angular 版本。
- 在主应用程序和子应用程序中使用相同的 ngcc 版本(用于处理共享库的兼容性问题)。
- 确保在应用程序和子模块之间共享的模块直接导入,而不是从磁盘或 npm 包装中加载。
- 确保使用有效的 webpack 插件配置来使模块联合起来,例如 ModuleFederationPlugin。
- 配置 webpack 插件以正确处理共享的依赖项。以下是一个示例配置:
new ModuleFederationPlugin({
shared: {
'@angular/core': {
eager: true,
singleton: true,
requiredVersion: deps['@angular/core'],
},
'@angular/common': {
eager: true,
singleton: true,
requiredVersion: deps['@angular/common'],
},
'@angular/router': {
eager: true,
singleton: true,
requiredVersion: deps['@angular/router'],
},
},
})