Reference 引用标记污染了使用Typescript的模块

Reference 引用标记污染了使用Typescript的模块,reference,module,typescript,Reference,Module,Typescript,假设我有一个文件lib.ts,其中包含 /// <reference path="assets/webgl.d.ts" /> export var wrapper = 4; import lib = module("lib"); // when I hit space here, I see all the `webgl.d.ts` declarations 如何停止污染加载lib.ts的所有模块webgl.d.ts应该只在lib.ts内部可见虽然这不是您想要的,但这实际上是Ty

假设我有一个文件
lib.ts
,其中包含

/// <reference path="assets/webgl.d.ts" />
export var wrapper = 4;
import lib = module("lib");
// when I hit space here, I see all the `webgl.d.ts` declarations

如何停止污染加载
lib.ts
的所有模块
webgl.d.ts
应该只在
lib.ts

内部可见虽然这不是您想要的,但这实际上是TypeScript语言的工作方式。从:

作为依赖项包含的任何文件都有其引用 以可传递的方式进行分析,直到所有依赖项都已 下定决心


因此,TypeScript编译器的设计目的是为您遍历依赖关系树。

虽然这不是您希望发生的事情,但这实际上是记录TypeScript语言的工作方式。从:

作为依赖项包含的任何文件都有其引用 以可传递的方式进行分析,直到所有依赖项都已 下定决心


因此,TypeScript编译器旨在为您遍历依赖关系树。

感谢您的澄清。好吧,对我来说,结果是我不能使用
webgl.d.ts
,因为文件太长,它完全减慢/冻结了VS IDE。我不确定规范是否涵盖了引用和外部模块的混合:对于导入的模块,遍历依赖项并不意味着污染导入程序,对于引用的代码它确实如此。混合使用似乎属于空白。感谢您的澄清。好吧,对我来说,结果是我不能使用
webgl.d.ts
,因为文件太长,它完全减慢/冻结了VS IDE。我不确定规范是否涵盖了引用和外部模块的混合:对于导入的模块,遍历依赖项并不意味着污染导入程序,对于引用的代码它确实如此。混合使用似乎属于空白。