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文件中,只有避免出现上面的情况即可。

时间: 2024-10-13 13:49:17

Egret项目Typescript的编译报错的相关文章

vs2010项目使用vs2013编译报错 无法打开包括文件:“winapifamily.h”

我的老项目是vs2010下的项目.最近安装vs2013后,打开sln解决方案,调试运行报错 C:\Program Files (x86)\Windows Kits\8.0\Include\um\winsdkver.h(21): fatal error C1083: 无法打开包括文件:“winapifamily.h”: No such file or directory 在项目包含目录中包含了这个Windows Kits\8.0\include的东西. 仔细回想了一下是以前编译webRTC使用的,

解决IDEA导入Eclipse项目时,编译报错“ Error:(1, 1) java: 非法字符: ‘\ufeff’”

今天在IDEA中导入了一个Eclipse项目,编译时报错: 原因:Eclipse可以智能地把UTF-8  BOM文件转换为普通的UTF-8文件,IDEA没有这个智能转换. 2种解决方式: 1.在所在目录下新建一个java文件,把原文件的内容剪切过去,删除原文件,再把新文件重命名为原来的文件名. 2.点击IDEA右下角的编码字符集,先换为GBK,再换为UTF-8 原文地址:https://www.cnblogs.com/chy18883701161/p/12590933.html

Android Studio导入Fresco项目编译报错unable to expand TAR 'imagepipeline\build\downloads\libjpeg-turbo-1.3.1.tar.gz'解决

把github上的一个Fresco的demo源码clone到本地(附clone地址:https://github.com/facebook/fresco.git),导入这个fresco项目编译报了如题所示的错.经过网上搜索解决方案,只找到了下面链接给的解决方案: unable to expand TAR 'imagepipeline\build\downloads\libjpeg-turbo-1.3.1.tar.gz解决 按照上面链接给的方法试了一下,结果无法解决.还是报同样的错误.然后我试着去

启动项目,编译报错:Consider defining a bean of type 'XXX' in your configuration.

在controller层注入ConfigBean,编译器报错: 一开是以为是intellij idea 的告警级别设定的问题,就没有在意,继续启动项目,结果控制台报错:Consider defining a bean of type 'XXX' in your configuration. 错误信息显示找不到这个Bean类. 但是我明明写了啊. 后来经过一番查找,大概有了如下理解:主要问题出在@SpringBootApplication 这个注解上. 点进这个注解,可以看到,此注解功能大概由下面

webpack编译报错:Module not found: Error: Cannot resolve 'file' or 'directory' ./../../node_modules..

在同事的mac电脑上,可以正常编译,拿到我这边就出错了(⊙﹏⊙) 好像是webpack在window下的一个bug,需要让 webpack 和你的项目保持在一个盘符下,参考. 解决方法: 修改config.js配置文件,在所有目录前加上path.join,参考1,参考2. webpack编译报错:Module not found: Error: Cannot resolve 'file' or 'directory' ./../../node_modules..

IOS编译报错:objc-class-ref in AppDelegate.o之解决方案

xcode6.0升级到xcode6.1后,程序编译报错,错误如下:这是个很常见的错误,很多项目在更换xcode版本后,都会出现类似的问题. Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_QQApiInterface", referenced from: objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_ShareSDK", referenced from

对arm指令集的疑惑,静态库运行,编译报错等问题

转载自http://www.jianshu.com/p/4a70aa03a4ea?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=qq 对arm指令集的疑惑,静态库运行的问题,翻看了很多资料,整理如下: 1:blog.csdn.net/lizhongfu2013/article/details/42387311 下面内容转发自上述链接:iOS开发-制作同时支持armv7,armv7s,arm

VS2010 C++编译报错LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

编译mongodb-src-r2.2.2出现以下问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 这个是由于日志文件引起的,可以将 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”. 或者将 项目\属性\配置属性\链接器\清单文件\生成清单:原来是“是”,改成“否”. 如果仍然无效,判断是否已经安装了VS2012,如果已经安装,需要安装VS2010 sp1补丁. VS2010 C++编译报错LINK : fa

新建MVC3编译报错 错误 CS0433:

新建C# MVC3工程,选择带认证模块的,并建立test单元,F5运行,报错: 错误 CS0433: 类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“c:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll”和“c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assem