Angular 为什么打字工具故意创建重复的打字集?
在阅读本节内容时,我遇到了以下内容: 键入文件冲突 TypeScript编译器不允许重新定义类型。对于 例如,如果为 承诺型 双重定义很常见。事实上,打字工具是故意的 创建重复的打字集(原因最好解释一下 其他地方)。在项目结构中查找typings文件夹,其中 我们应该找到类似于: es6垫片打字重复,浏览器d.ts和main.d.ts 有重叠的内容 如果我读了,它会说: 如果您正在构建前端软件包,建议您使用typings/browser.d.ts。浏览器类型是按照浏览器字段替代进行编译的 问题: 为什么用户故意创建重复的打字集 为什么建议您对前端软件包使用Angular 为什么打字工具故意创建重复的打字集?,angular,typescript,typescript-typings,Angular,Typescript,Typescript Typings,在阅读本节内容时,我遇到了以下内容: 键入文件冲突 TypeScript编译器不允许重新定义类型。对于 例如,如果为 承诺型 双重定义很常见。事实上,打字工具是故意的 创建重复的打字集(原因最好解释一下 其他地方)。在项目结构中查找typings文件夹,其中 我们应该找到类似于: es6垫片打字重复,浏览器d.ts和main.d.ts 有重叠的内容 如果我读了,它会说: 如果您正在构建前端软件包,建议您使用typings/browser.d.ts。浏览器类型是按照浏览器字段替代进行编译的 问题:
打字/browser.d.ts
我猜是因为支持浏览器
字段可以创建不同的类型
如果是这样的话,
浏览器
字段是什么?它以何种方式改变打字?您的猜测是正确的。打字识别包在浏览器和其他位置上的功能可能不同。对于大多数常见的软件包来说,此功能是不必要的,因为同构JS是一种潮流,而且许多软件包在所有JS环境中都具有相同的功能
但是,如果我的代码是故意检查环境的功能,或者如果我想阻止用户使用浏览器中被破坏的功能,那么拥有这些功能会很有帮助
这里有一个例子。我有一个颜色选择器包。如果我在桌面上,这个软件包将允许我从屏幕上的任何地方选择颜色。显然,这依赖于系统级API,浏览器无法使用。另一方面,我的浏览器可以在浏览器窗口中选择颜色。我没有发布一个全新的包,而是向程序员公开不同的类型,以便他们知道基于他们的环境允许哪些功能
最终,您只需花费很少的成本(除了计算机上的文件空间)和可能无法实现的功能 所以,
main
文件夹将包含节点的定义,这就是您的意思吗?@Ibrahim node主要是,但也包括其他基于JS的环境。:)只是不是浏览器。
typings
browser
ambient
es6-shim
es6-shim.d.ts
main
ambient
es6-shim
es6-shim.d.ts
browser.d.ts
main.d.ts