微前端MFE: 那些常见的错误汇总(更新版)
1. Angular框架中的"Maximum call stack size exceeded"错误,原因是递归调用或组件循环引用;2. TypeScript编译问题,需检查tsconfig.json文件配置;3. Module Federation中的"Shared module not available"错误,需创建bootstrap.ts文件;4. React主应用加载Angular远程组
报错:core.mjs:7405 ERROR RangeError: Maximum call stack size exceeded fixed

解决:这个是因为 函数无限递归调用,导致调用栈爆满。
这个错误发生在 core.mjs 文件里,通常是 Angular 或类似框架的核心代码提示,自己的代码中可能存在:
- 函数自己不停地调用自己
- 组件之间相互调用形成死循环
- 在模板里不恰当地调用方法或访问属性
在我的项目中是因为函数自己不停地调用自己这个原因,同一个数据结构,在同一个Component中反复new了很多次,导致了这个错误。(const user = new User()这句代码在同一个组件中被使用了很多次,也就是被调用了很多导致了错误)
报错:TypeScript compilation. Please make sure it is in your tsconfig via the ‘files‘ or ‘in

解决:
tsconfig.json 是 TypeScript 项目的配置文件,里面告诉编译器:
- 哪些文件需要被编译
- 编译选项(目标版本、模块系统、严格模式等)
如果新建了一个 .ts 文件,或者某个文件没有被包含在 tsconfig.json 的配置范围内,编译器就不会处理它,或者会报你类似的错误。
主要原因
- 新加的
.ts文件没有被包含在tsconfig.json的files或include配置里。 - 项目里有多个
tsconfig.json,用的那个没有包含你写的文件。 exclude配置把该文件排除了。
解决办法
打开项目根目录下的 tsconfig.json,找到类似:
{
"files": [
"src/main.ts",
"src/app/app.module.ts"
],
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
files:显式列出需要编译的文件,比较少用,因为每改一个文件都要改这里。include:使用 glob 模式匹配文件,常用且推荐。
报错:Shared module is not available for eager consumption

解决:
可能的原因
- 共享模块配置错误
在webpack.config.js(特别是 Module Federation 配置)里,shared里面的某些依赖被设置了eager: true,但实际上该依赖不支持 eager 模式。 - Angular 版本或库版本不兼容
不同 Angular 版本对共享模块的支持不完全一致,或者使用了不支持 eager 的第三方库。 - 模块联邦配置冲突
如果多个微前端(Micro Frontend)应用都共享同一个库,但配置不一致,会导致此错误。
但是我项目中这个错误是因为我在remote应用中没有创建bootstrap.ts文件,而是直接使用了main.ts文件导致了这个错误。在module/federation中,bootstrap.ts文件必不可少,必须要有!!!
bootstrap.ts 文件:

main.ts文件:

报错:ScriptExternalLoadError:Loading script failed(在React主应用中引入Angular远程应用报错)

解决:
可能的原因
- 脚本文件的 URL 错误或不存在
- 服务器上找不到对应的 JS 文件,导致 404。
- 可能路径配置错了,或者文件名拼写错误。
- 跨域问题(CORS)
- 加载的脚本地址和当前网页不在同一个域名,服务器没允许跨域请求。
- 网络问题
- 网络断开、服务器宕机或响应超时。
- 构建配置问题
- webpack 或其他打包工具配置错误,输出文件路径不对。
- 版本不匹配或缓存问题
- 浏览器缓存旧文件,导致加载失败。
但是我项目中因为Angular远程项目中的webpack.json文件中publicPath配置错误,需要写成自己远程项目中的端口号,像下面截图这样。(请注意我出现这个问题的前提是,在主应用React中,已经能够在network面板中看到Angular远程应用的remote.js已经加载成功了)

更多推荐


所有评论(0)