[LayaAir 1.0]编译Typescript项目时卡死,通过node断点调试layaair-cmd,已定位是tsSort.js问题
系统及版本:
复现步骤:(或者直接github地址:https://github.com/raofr/laya_compile_bug)
Bug调试:
经过node inspect 发现是layaair-cmd 目录下的tools/tsSort.ts卡死
53行:
我直接用node写了个简单代码 test.js:
多谢
- IDE:1.7.21
- Engine:1.7.21
- OS: Windows10
- Node: v8.12.0
复现步骤:(或者直接github地址:https://github.com/raofr/laya_compile_bug)
- 创建TypeScript空项目
- 修改src/LayaSample.ts
import WebGL = Laya.WebGL;然后编译就卡死
// 程序入口
class GameMain{
constructor()
{
Laya.init(600,400, WebGL);
}
static wallet:com.battlecry.idle_m.data_proto.WalletModel;
}
new GameMain();
Bug调试:
经过node inspect 发现是layaair-cmd 目录下的tools/tsSort.ts卡死
53行:
var staticHelp = /\bstatic\b\s+\w+:((?:\w+\.?)+)\s*=\s*new\s+/ //.exec(str)[1]
及执行到解析正则的时候 81行:var staticClass = staticHelp.exec(filecont[j]);
这个时候当filecont[j] 为 static wallet:com.battlecry.idle_m.data_proto.WalletModel;直接卡死。
我直接用node写了个简单代码 test.js:
var staticHelp = /\bstatic\b\s+\w+:((?:\w+\.?)+)\s*=\s*new\s+/的确会卡死。应该是你们的这个tsSort里面的正则有问题吧。
var line = " static wallet:com.battlecry.idle_m.data_proto.WalletModel;"
var a=staticHelp.exec(line);
console.log(a);
多谢
没有找到相关结果
已邀请:
1 个回复
Aar0n
赞同来自: