我在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 ERROR SyntaxError:意外使用保留字&#39; super&#39;
我可以修复它,但我想了解为什么我会从打字稿中获取不同的代码。
感谢任何帮助。
(更新)
查看导致问题的代码
class TimerTargetImpl extends NSObject {
static new(): TimerTargetImpl {
return <TimerTargetImpl>super.new();
}
<snip>
它在静态函数中使用super,因为它是静态的,没有实例,所以没有超级。
似乎这个新功能应该只是
static new(): TimerTargetImpl {
return new TimerTargetImpl();
}
答案 0 :(得分:0)
NativeScript目前正在使用v1.5.0的typescript。我唯一能想到的ES6模式可能会有所不同。建筑的设置文件显示:
“version”:“1.5.0-beta”, “compilerOptions”:{ “目标”:“es5”, “module”:“commonjs”, “声明”:虚假, “noImplicitAny”:false, “removeComments”:是的, “noLib”:是的, “outDir”:“dist” },