引用TypeScript类型定义

hco*_*bda 6 typescript aurelia

我正在使用SystemJS/jspmTypeScript定义管理器在TypeScript中构建Aurelia应用程序.我.ts有源文件/app/**.d.ts文件下/typings/**/jspm_packages/**(因为一些定义文件通过jspm发货).

显然,TypeScript编译器不了解SystemJS/jspm或TSD,因此我需要以某种方式引用它们管理的类型定义.我已经尝试将所有.ts文件传递给编译器,因此它引用了源代码和定义,但这导致了必须下载所有类型定义导入的所有类型定义的漏洞.它最终是类型定义开始(哟dawg我听说你喜欢类型定义).似乎编译器应该只关心由源直接引用的类型定义导出的东西(而不是那些定义导入的东西).

无论如何,我感觉我的方式是错误的,我想知道是否有更好/正确的方式来引用定义文件.

PS:看起来可能有一些涉及编辑器/插件的解决方案,但我正在寻找一种严格的CLI方法,因为这是自动构建的一部分.

Lou*_*kad 1

我讨厌引用文件。我所做的只是使用 中的“排除”选项tsconfig.json。这保证了所有类型文件都将包含在我的整个项目中,并且我永远不必使用任何<reference>.

只需使用以下tsconfig 就可以了:

{
  "compilerOptions": {
    "target": "es5", // or es6
    "module": "system",
    "sourceMap": true,
    "declaration": true
  },
  "exclude": [
    "node_modules"
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是该模块中我的主文件。请注意,没有对任何声明文件的引用。