我构建了一个TypeScript库,它是我的应用程序的“核心”(称之为Core.ts),使用内部模块和每个文件的单个类编译为单个输出文件(Core.js)。我向编译器添加了--declaration
标志,它生成了声明文件(Core.d.ts)。问题是,这个生成的声明文件不包括对最初包含在编译中的其他声明文件的引用。一旦我将生成的Core.d.ts添加到我的项目中,我就得到类似于来自该文件的未定义JQuery
,Backbone
等的1k错误。
我将comments标志设置为true,它在Core.js中生成了注释和引用,但是将它们全部剥离为Core.d.ts
如果我查看我从Definitely Typed中获取的其他定义文件,则会包含对其他定义文件的引用,因此这似乎是编译器正在将其剥离的错误,尽管注释标志设置为true。
请告知。
似乎遇到了这个问题,但从未考虑过:
答案 0 :(得分:1)
听起来你期望Core.d.ts
包含来自jquery.d.ts
和backbone.d.ts
的定义,但我认为从概念上讲,TypeScript编译器希望你引用所有这三个:
///<reference path="jquery.d.ts" />
///<reference path="backbone.d.ts" />
///<reference path="Core.d.ts" />
典型的例子是jQuery插件 - 每个定义文件都包含插件的定义,但不包含jQuery的定义,因此您需要同时引用jquery.d.ts
和jquery.someplugin.d.ts
。
<强>更新强>
实际上 - 我认为您只是希望参考评论包含在Core.d.ts
中 - 这更有意义。我将评论您链接到的CodePlex上的错误,也许它会唤醒讨论!