2013-03-08 73 views
2

我正在使用TypeScript编译一些相互引用的文件。这些文件相互引用。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。我直接使用命令行编译器,但问题类似。

回答

2

如果您将目录名称(而不是文件名称)传递给-out开关,则会分别进行编译。您需要0.8.2或更高版本来执行此操作。

+0

问题在于我希望能够在没有额外代码的情况下执行单个文件(与Symfony中的Assetic一起使用,它一次只能处理一个文件)。我已经发现,如果我不使用-out,它可以工作,但是使用它或者不会改变它的功能是很奇怪的。这看起来像是一个不必要的相关特征。 +1,因为我不知道。 = p – samanime 2013-03-08 21:56:53

+1

我标记为答案,因为它技术上给了我需要的解决方案......只是不是我想要的解决方案。 = p – samanime 2013-03-25 17:43:58

1

我患有同样的事情。关于它的Here is a discussion on codeplex,它也参考bug regarding references。如果有帮助,请投票支持。

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

相关问题