全球和环境依赖 - 打字

时间:2016-05-25 19:01:24

标签: typescript-typings

我对环境和全局依赖关系感到困惑。我理解全局依赖的概念,这意味着全局安装依赖。但是来到环境依赖,我不明白它是什么,现在打字最近声明ambient is now global。我完全迷失了。

有人可以帮我清除这种混乱。

1 个答案:

答案 0 :(得分:11)

首先让你放心,环境和全球类型是相同的,它只是一个名称更改,因为 global 更好地描述了它们的功能

至于他们是什么......

全局声明,使用最简单的定义是项目全局命名空间中可用的类型。

“外部模块”是具有顶级导入或导出的.d.ts文件。外部模块由声明模块'....'中的Typings包装,并且在一些依赖魔法之后,您最终会得到不污染项目全局名称空间的声明。

至于为什么这很重要,您可能会遇到与版本和/或重复定义的冲突。

包A取决于依赖关系X的1.4版 包B依赖于依赖关系X的版本2.0

如果包A和A的定义。包B都是全局的,该版本冲突(相同依赖的不同定义)最终在全局命名空间中,并且TypeScript编译器爆炸。

这一切都取决于您希望在哪个范围内输入声明。