2013-02-02 98 views
0
模块

比方说,我有文件lib.ts其中包含参考标签污染使用打字稿

/// <reference path="assets/webgl.d.ts" /> 
export var wrapper = 4; 

然后,我有文件main.ts其中包含

import lib = module("lib"); 
// when I hit space here, I see all the `webgl.d.ts` declarations 

如何停止webgl.d.ts污染的所有模块的负载lib.tswebgl.d.ts应该是可见的只有里面的lib.ts

回答

3

虽然这不是你想要发生的,但实际上这是TypeScript语言如何记录下来的。从TypeScript Language Specification

任何文件列为反过来依赖有其引用 的传递方式分析,直到所有的依赖已经 确定。

因此,TypeScript编译器设计用于为您提供依赖关系树。

+0

感谢您的澄清。对我来说,结果是我不能使用'webgl.d.ts',因为这个文件太长了,它完全放慢了/​​冻结了VS IDE。 –

+0

我不确定规范是否涵盖了引用和外部模块的混合:对于导入的模块,行为依赖并不意味着污染导入器,因为它引用的代码。混合使用似乎落入了差距。 – claus