强制 Typescript 识别 __moduleName

Force Typescript to recognize __moduleName

我正在尝试为 Angular2 和 SystemJs 设置一个构建环境,这样我就可以从外部库中导入组件,这些库的定义如下:

@Component({
  moduleId: __moduleName,
  selector: 'foo-selector',
  templateUrl: 'foo.component.html'
})

我确定这就是我想要使用的,因为它在我 运行 时有效。但是 Typescript 编译失败,因为它无法识别 moduleName。我怎样才能让 Typescript 认识到这一点,或者至少不要抱怨它?

这是 Typescript 版本 2.1.0-dev.20160915 并且 moduletsconfig.json

中设置为 system

您可以尝试将此行添加到您的 typings/index.d.ts 文件中:

declare var __moduleName: string;