我正在使用TypeScript编译一些相互引用的文件。这些文件相互引用。
问题是当我编译它们时,它包括它引用的文件的编译内容。
示例:
// in Foo.ts
class Foo {}
// in Bar.ts
/// <reference path='./Foo.ts'/>
class Bar extends Foo {}
如果我尝试编译Bar.ts,那么输出也会包含Foo的代码。
基于另一个线程(如下所述),如果使用--out参数,它看起来就像这样做。但是,我需要使用out参数,但不要将它链接起来(因为我会自己重新连接)。
有没有人知道如何分离这两部分功能?
注意: 这不是Referencing TypeScript file includes whole file in output的重复,因为这纯粹是为了使用Web Essentials。我直接使用命令行编译器,但问题类似。
答案 0 :(得分:2)
如果将目录名称(而不是文件名)传递给-out开关,您将获得单独的编译。您需要0.8.2或更高版本才能执行此操作。
答案 1 :(得分:1)
我正在遭受同样的痛苦。关于它的Here is a discussion on codeplex,它也引用了bug regarding references。如果有帮助,请投票。
我们正在构建模块化SDK,因此重复的代码是一个真正的问题。我们最终只使用Visual Studio工具的引用,以及生成JavaScript的自定义构建系统。系统为所有依赖模块构建.d.ts decls,然后使用这些decls构建依赖模块,传递--noresolve
标志以防止<reference ...>
被接收。