2

我构建了一个 TypeScript 库,它是我的应用程序的“核心”(称为 Core.ts),它使用内部模块和每个文件的单个类方法编译为单个输出文件(Core.js)。我--declaration在编译器中添加了标志,它会生成声明文件(Core.d.ts)。问题是,这个生成的声明文件不包含对最初包含在编译中的其他声明文件的引用。一旦我将生成的 Core.d.ts 添加到我的项目中,我会从该文件中收到关于 undefined JQuery、等的1k 错误。Backbone

我将评论标志设置为 true,它在 Core.js 中生成了评论和引用,但为了 Core.d.ts 将它们全部剥离了

如果我查看从“绝对类型”中获取的其他定义文件,其中一些确实包含对其他定义文件的引用,所以这似乎是一个错误,尽管注释标志设置为 true,但编译器正在剥离它们。

请指教。

似乎遇到过这个问题,但从未调查过:

https://typescript.codeplex.com/discussions/434018

4

1 回答 1

1

听起来您希望Core.d.ts包含来自的定义jquery.d.tsbackbone.d.ts但我认为从概念上讲 TypeScript 编译器希望您引用所有三个:

///<reference path="jquery.d.ts" />
///<reference path="backbone.d.ts" />
///<reference path="Core.d.ts" />

一个典型的例子是 jQuery 插件 - 每个定义文件都包含插件的定义,但不包含 jQuery,因此您需要同时引用jquery.d.tsjquery.someplugin.d.ts.

更新

实际上-我认为您只是希望将参考评论包含在其中Core.d.ts-这更有意义。我将评论您链接到的 CodePlex 上的错误,也许它会唤醒讨论!

于 2013-04-05T15:03:22.210 回答