代码之家  ›  专栏  ›  技术社区  ›  Kevin Beal

如何仅从单个typescript文件生成a.d.ts?

  •  11
  • Kevin Beal  · 技术社区  · 7 年前

    我想创建一个 .d.ts .ts 文件没有 而且 .js 来自我的源的文件 .ts

    我想运行以下内容:

    $ tsc myFile.ts -d
    

    myFile.ts 已生成 .d.ts

    目前,结果是该文件和 .ts 我的项目中的文件生成它们自己的 .js 文件夹。

    es2015 ,因此模块选项应该默认为CommonJS(如果这很重要的话)。

    1 回复  |  直到 7 年前
        1
  •  7
  •   Robert Koritnik    4 年前

    我想为单个.ts文件创建一个.d.ts文件,而不需要从我的源.ts文件创建一个.js文件。

    案例1:不导入本地.ts文件的单个.ts文件

    我们能做的是

    1. 分配 . 作为声明目录,
    2. temp 作为JavaScript目录,以及
    3. 删除 临时雇员

      tsc --declaration --declarationDir . --outDir temp foo.ts
      rm -rf temp
      

    如果是foo,那就行了。ts不导入其他本地.ts文件。当foo。ts会导入其他本地的.ts文件,编译器会为每个文件创建一个单独的.d.ts文件。因为这不是我们现在想要的,接下来的更好。

    案例2:导入本地.ts文件的单个.ts文件

    如果我们的用例允许创建 system amd

    tsc foo.ts --outFile foo.js --declaration --module system
    rm -rf foo.js
    

    两种情况下的结果

    bar
      bar.ts
    foo.d.ts           <---- a single declaration file
    foo.ts
    tsconfig.json