2

我正在使用 TypeScript 编译一些相互引用的文件。这些文件相互引用。

问题是当我编译它们时,它也包括它引用的文件的编译内容。

例子:

// in Foo.ts
class Foo {}

// in Bar.ts
/// <reference path='./Foo.ts'/>
class Bar extends Foo {}

如果我尝试只编译 Bar.ts,输出也将包含 Foo 的代码。

基于另一个线程(如下所述),如果您使用 --out 参数,它看起来会这样做。但是,我需要使用 out 参数,但不希望它被链接(因为我会自己连接起来)。

有谁知道如何分离这两个功能?

注意:这不是引用 TypeScript 文件在输出中包含整个文件的副本,因为这纯粹是为了使用 Web Essentials。我直接使用命令行编译器,虽然问题是相似的。

4

2 回答 2

2

如果您将目录名(而不是文件名)传递给 -out 开关,您将获得单独的编译。您需要 0.8.2 或更高版本才能执行此操作。

于 2013-03-08T00:28:42.333 回答
1

我正在遭受同样的事情。 这是关于 codeplex 的讨论,其中还引用了有关 references 的错误。如果有帮助,请投票。

我们正在构建一个模块化的 SDK,所以这个重复的代码是一个真正的问题。我们最终只将引用用于 Visual Studio 工具,并使用自定义构建系统来生成 JavaScript。系统为所有依赖模块构建 .d.ts decls,然后使用这些 decls 构建依赖模块,传递--noresolve标志以防止<reference ...>被拾取。

于 2013-03-11T00:52:00.137 回答