0

我在我的 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();
    }                        
4

1 回答 1

0

NativeScript 目前正在使用 v1.5.0 的 typescript。我唯一能想到的 ES6 模式可能会有所作为。用于构建的设置文件显示:

“版本”:“1.5.0-beta”,“compilerOptions”:{“目标”:“es5”,“模块”:“commonjs”,“声明”:假,“noImplicitAny”:假,“removeComments”:真, "noLib": true, "outDir": "dist" },

于 2015-06-04T20:29:47.840 回答