Egret项目Typescript的编译报错

今天编译项目,出现了一个奇怪的报错,如下:

E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41531
1>                  if (file.name.toLowerCase() in sortedMap)
1>                                                 ^
1>  RangeError: Maximum call stack size exceeded
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41531:48)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)
1>      at insert (E:\engine\egret-core-3.1.2\tools\lib\typescript\tsclark.js:41534:21)

由于报错没有给出详细的信息,只是大概的可以看出和解析代码文件进入了死循环相关,最后只能一次次回退提交来调试。

最后找到了问题的所在,这里简单的记录一下:

假设我有一个A.ts:

1 class A {}
2 class C extends B {}

还有一个B.ts:

1 class B extends A {}

就会出现这个问题,继承的一个类如果在其他的文件中,而该文件中的类又继承了当前文件中的类就会出现这个问题。

找到问题解决方法就多了,可以添加一个C.ts把类C放入,可以将类B放入A.ts文件中,只有避免出现上面的情况即可。

转载于:https://www.cnblogs.com/hammerc/p/5608952.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值