javascript - Webstorm - Typescript、AngularJS 和生成器 ng-poly Getter/Setter

标签 javascript angularjs typescript gulp webstorm

我有以下名为lobby-constants.ts的文件:

module lobby.constants {
  export class Constants {

    static get Default() : any {
      return {
        baseUrl: 'http://localhost:2999'
      };
    }
  }
}

我将通过以下方式加载它:

.constant('appConstant', lobby.constants.Constants.Default);

不幸的是,我在 Webstorm 中收到以下错误消息,这完全有道理,因为 gulp 将 ECMAScript 版本 3 作为默认输出。

app\lobby\constants\lobby-constants.ts(8,16): 1056 Accessors are only available when targeting ECMAScript 5 and higher.

有没有办法改变 gulpfile 中的这个特定设置?

生成器-ng-poly:https://github.com/dustinspecker/generator-ng-poly

最佳答案

在生成的gulpfile.js文件中,修改

config.tsProject = $.typescript.createProject({
  declarationFiles: true,
  noExternalResolve: false
});

像这样传递一个out选项

config.tsProject = $.typescript.createProject({
  declarationFiles: true,
  noExternalResolve: false,
  out: 'es5'
});

这适用于较旧生成的项目。较新的项目是通过 gulpfile.js 中的 config.tsSourceProject 和 config.tsTestProject 生成的,这两个项目都需要使用 out 选项进行修改。

关于javascript - Webstorm - Typescript、AngularJS 和生成器 ng-poly Getter/Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31837010/

相关文章:

javascript - Angularjs 长轮询

javascript - Angularjs: Angular 中的嵌套重复不起作用

angularjs - 如果 ng-repeat 逻辑包含在 ng-if 中,它是否会触发

html - Safari 浏览器错误的页脚

angular - primeNG 表上的可编辑行问题

javascript - 如何从 AJAX 事件中获取源元素?

javascript - 不确定 Node.js 代码是否异步

Angularjs 不更新变量

node.js - TS2451 : Cannot redeclare block-scoped variable 'custom'

javascript - AngularJS 更新服务变量不起作用