澄清tsconfig.json“文件”列表和打字稿语义

时间:2015-07-02 00:26:27

标签: typescript

我的文件列表:

    "./converter.ts",
    "./node_modules/typescript/bin/lib.core.d.ts",
    "./node_modules/typescript/bin/lib.core.es6.d.ts",
    "./node_modules/typescript/bin/lib.d.ts",
    "./node_modules/typescript/bin/lib.dom.d.ts",
    "./node_modules/typescript/bin/lib.es6.d.ts",
    "./node_modules/typescript/bin/lib.scriptHost.d.ts",
    "./node_modules/typescript/bin/lib.webworker.d.ts",
    "./node_modules/typescript/bin/typescript.d.ts",
    "./node_modules/typescript/bin/typescriptServices.d.ts",
    "./typings/node/node-0.10.d.ts",
    "./typings/should/should.d.ts",
    "./typings/tsd.d.ts"

编译器和打字稿语义如何处理?是否将所有这些文件连接在一起然后解析为一个大文件?

我问,因为我看到错误情况,看起来我有一个重复的.ts文件,例如两个版本的节点.... d.ts和我看起来像一个“重复定义”错误。

如果是这种情况,那么拥有相同.ts文件的多个版本的最佳做法是什么,因为我正在尝试?或者基本上是否需要修剪我的“已安装”的.d.ts文件以便我没有重复的版本?

2 个答案:

答案 0 :(得分:2)

从tsconfig文件的外观来看,我有几点要说:

  1. 您对./node_modules/typescript/**的引用并非必要,tsc默认会对其进行编译。

  2. 您似乎正在使用tsd,在这种情况下,您只需要引用tsd.d.ts,并且您对./typings/node/node-0.10.d.ts./typings/should/should.d.ts的引用是多余的。

    • 编译器在编译文件时遵循/// <reference />声明的跟踪。
    • tsd.d.ts引用了typings目录中的所有声明文件,因此您根本不需要它。
  3. 另外,请考虑使用tsconfig-glob,因为它允许您指定filesGlob,并且不要求您手动更新tsconfig中的files属性。

答案 1 :(得分:1)

  

或者基本上我需要修剪我的&#34;安装&#34; .d.ts文件,以便我没有重复的版本

是。本质上全局的文件(定义文件以这种方式编写):http://basarat.gitbooks.io/typescript/content/docs/project/modules.html不能包含相同的名称。

模块的文件可以随意复制。