我想为单个.d.ts
文件创建一个.ts
文件,而还从我的源{{1}创建.js
个文件文件。
我想运行类似的东西:
.ts
但结果只有$ tsc myFile.ts -d
生成的myFile.ts
文件。
目前,结果是该项目中的.d.ts
文件的所有文件生成了自己的.ts
和.js
文件。
我的目标是.d.ts
,因此模块选项应该默认为CommonJS(如果这很重要)。
答案 0 :(得分:2)
我想为单个.ts文件创建单个.d.ts文件,而不是从源.ts文件创建.js文件。
虽然没有编译器选项,但我们可以包含和删除生成的.js文件。
我们可以做的是1.将.
指定为声明目录,2。将temp
指定为JavaScript目录,然后3.在转换后删除temp
目录。
tsc --declaration --declarationDir . --outDir temp foo.ts
rm -rf temp
如果foo.ts不导入其他本地.ts文件,那么该方法有效。当foo.ts导入其他本地.ts文件时,编译器会为每个文件创建一个单独的.d.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