报错: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.jsonfilesinclude 配置里。
  • 项目里有多个 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

解决

可能的原因

  1. 共享模块配置错误
    webpack.config.js(特别是 Module Federation 配置)里,shared 里面的某些依赖被设置了 eager: true,但实际上该依赖不支持 eager 模式。
  2. Angular 版本或库版本不兼容
    不同 Angular 版本对共享模块的支持不完全一致,或者使用了不支持 eager 的第三方库。
  3. 模块联邦配置冲突
    如果多个微前端(Micro Frontend)应用都共享同一个库,但配置不一致,会导致此错误。

但是我项目中这个错误是因为我在remote应用中没有创建bootstrap.ts文件,而是直接使用了main.ts文件导致了这个错误。在module/federation中,bootstrap.ts文件必不可少,必须要有!!!

bootstrap.ts 文件:

main.ts文件:


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

解决

可能的原因

  1. 脚本文件的 URL 错误或不存在
    • 服务器上找不到对应的 JS 文件,导致 404。
    • 可能路径配置错了,或者文件名拼写错误。
  2. 跨域问题(CORS)
    • 加载的脚本地址和当前网页不在同一个域名,服务器没允许跨域请求。
  3. 网络问题
    • 网络断开、服务器宕机或响应超时。
  4. 构建配置问题
    • webpack 或其他打包工具配置错误,输出文件路径不对。
  5. 版本不匹配或缓存问题
    • 浏览器缓存旧文件,导致加载失败。

但是我项目中因为Angular远程项目中的webpack.json文件中publicPath配置错误,需要写成自己远程项目中的端口号,像下面截图这样。(请注意我出现这个问题的前提是,在主应用React中,已经能够在network面板中看到Angular远程应用的remote.js已经加载成功了

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐