我在我的 nativescript 项目中包含了所有 typescript 源,webstorm 编译了其中一个,现在我无法运行该应用程序。
我查看了已匹配的 grunt 文件中的设置。
在 timer.ios.ts 中,该行看起来像
return <TimerTargetImpl>super.new();
编译为(在 WebStorm 中使用 typescript 1.4)
return super.new.call(this);
然而,来自 tns create 的(ts 生成的)代码是
return _super.new.call(this);
我找不到我的打字稿设置与 grunt 文件中的设置的区别。
我无法运行它,因为我得到
/app/tns_modules/timer/timer.js:17:JS 错误语法错误:意外使用保留字“超级”
我可以修复它,但我想了解为什么我从打字稿中得到不同的代码。
感谢任何帮助。
(更新)
查看导致问题的代码
class TimerTargetImpl extends NSObject {
static new(): TimerTargetImpl {
return <TimerTargetImpl>super.new();
}
<snip>
它在静态函数中使用超级,因为它是静态的,所以没有实例所以没有超级。
看来这个新功能应该只是
static new(): TimerTargetImpl {
return new TimerTargetImpl();
}