我在VS2013中开发了一个包含Typescript文件的库。这些文件正确编译为js文件(AMD)。
我想要的是为这个lib创建一个声明文件。但
tsc --declaration --module AMD --out out.d.ts [files.ts]
不起作用。
有人可以带我走正确的道路吗?
使用TypeScript 0.9.1.1。
答案 0 :(得分:3)
您可以随时使用命令行调用来执行此操作。在Visual Studio中,使用以下内容作为构建后事件命令行调用:
del $(OutDir)combined.d.ts
type $(OutDir)*.d.ts > $(OutDir)combined.d.ts
可能需要$(ProjectDir)Some\Other\Path\*.d.ts
等。有关详情,请参阅here
答案 1 :(得分:1)
因为你提供的.d.ts
将用js内容覆盖声明文件。
此外,您需要删除module amd
,因为它适用于每个文件(不是 - 友好,请参阅http://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1)
所以,试试:
tsc [files.ts] --declaration --out out.js
将生成out.d.ts
答案 2 :(得分:0)
除了Andy W的回答,您还需要删除参考路径线。使用FIND执行此操作。
del "$(ProjectDir)bin\combined.d.ts"
type "$(ProjectDir)*.d.ts" "$(ProjectDir)subFolder1\*.d.ts" "$(ProjectDir)subFolder2\*.d.ts" | FIND /V /I "/// <reference path=" > "$(ProjectDir)bin\combined.d.ts"
答案 3 :(得分:0)
为Typescript库生成一个声明文件。
您不需要这样做(或者至少您没有为此提供用例)。
您的输出文件夹,例如/module/bar
应该看起来像:
index.js
<为.js
生成了/module/bar.ts
index.d.ts
<为.d.ts
生成了/module/bar.ts
当用户需要/module/bar
时,运行时解析为.js
,而TypeScript类型系统则自动解析为.d.ts
。