14

我在 Visual Studio 2013 中开发了一个库,其中还包含 TypeScript 文件。这些文件正确编译为 JS 文件 (AMD)。

我想要的是为这个库创建一个声明文件,但这不起作用:

tsc --declaration --module AMD --out out.d.ts [files.ts]

有人可以带领我走向正确的道路吗?

使用 TypeScript 0.9.1.1。

4

4 回答 4

4

这是因为您提供.d.ts的内容将用 js 内容覆盖声明文件。此外,您需要删除module amd,因为它适用于每个文件(不是 --out 友好,请参阅http://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

所以,试试:

tsc [files.ts] --declaration --out out.js

这将产生out.d.ts

于 2013-10-30T08:58:22.047 回答
1

事后你总是可以通过命令行调用来做到这一点。在 Visual Studio 中,使用以下命令作为生成后事件命令行调用:

del $(OutDir)combined.d.ts
type $(OutDir)*.d.ts > $(OutDir)combined.d.ts

可能需要$(ProjectDir)Some\Other\Path\*.d.ts,等等。请参阅此处了解更多信息

于 2013-10-30T18:06:10.550 回答
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"
于 2014-12-17T00:44:44.773 回答
0

为 Typescript lib 生成一个声明文件。

您不需要这样做(或者至少您还没有为它提供用例)。

例如,您的输出文件夹/module/bar应如下所示:

  • index.js<.js/module/bar.ts
  • index.d.ts<.d.ts/module/bar.ts

当用户需要/module/bar 运行时解析为.js,TypeScript 类型系统.d.ts自动解析为。

例子

于 2018-08-13T23:27:15.493 回答