【发布时间】:2018-11-21 00:10:40
【问题描述】:
从this question 和this code 可以清楚地看出,在tsconfig 中使用lib 将不会填充您正在使用的任何功能,而这些功能在您的目标环境中不受支持。
如果这是真的,那么用例应该是什么?如果我有一个我拉进来的polyfill,比如bluebird,我会使用DefinitelyTyped 定义文件。是否有 target 和 lib 的组合旨在修复 TS 中的常见模式?
【问题讨论】:
-
如果您的目标浏览器具有原生 Promise,您可以使用
lib来提供定义,而无需使用 polyfill。 -
但如果这是我的运行时,我的目标是
es6而不是es5,TS 会自动知道Promise是一个东西 -
是的,这只是一个例子......它用于 JavaScript 引擎/运行时功能,这些功能不一定有预先制作的定义文件。对于一个运行时可能提供但另一个运行时不提供的东西。例如,可能有一个浏览器需要
es5来处理某些事情,比如不支持箭头功能,但确实包括生成器。您可以使用lib条目的组合来满足该运行时的需要。
标签: typescript