typescript - 什么是 typescript `--lib` 库文件?

标签 typescript typescript2.2

is a similar question .这涵盖了 typescript 对选项的作用。下面的问答涵盖了 lib 文件在运行时的来源。

当我查找 --lib 编译器选项的描述时,它说:

List of library files to be included in the compilation.

这些库文件是什么?它们是如何包含的?我正在研究的存储库具有以下设置?

"compilerOptions": {
  "target": "es5",
  "module": "es2015",
  "lib": ["es2015", "dom"]
},

如果 --lib 未设置为 ["es2015", "dom"],输出会有何不同?

最佳答案

它们告诉 typescript 编译器这些类型库在运行时可用,它不会提示您的目标 es 版本缺少功能。

你的配置是针对 es5 的,但是你告诉 typescript “es2015”功能将可用 - 例如 Promise 和 Map。同样,你有“dom”,所以 typescript 知道你有 window 和 browser-dom 特性。

据我所知,它不会改变输出...当您尝试使用目标 es 版本中不存在的功能时, typescript 只会出错。

当您想要以旧浏览器为目标,但又想使用 Promises 时,您可以这样做。所以我们通过 lib:["es2015.promise"] 告诉编译器它可用,然后你在执行时运行类似 core-jsbluebird 的东西- 填充 Promise 功能的时间。

关于typescript - 什么是 typescript `--lib` 库文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785407/

相关文章:

使用 RxJS 的 Angular 2 轮询

angular - 使用一种方法将多个变量设置为 false Angular4

javascript - 使用 Typescript 执行 API

javascript - 使用find typescript方法返回 Angular 4中的值

javascript - 使用 Jasmine 测试 TypeScript 生成的类

typescript -尝试扩展类原型(prototype)时类型上不存在属性

arrays - 将数组传递给异步库 eachSeries - 期望 'Dictionary<{}>'

node.js - Angular2-Recaptcha 未在浏览器返回事件上加载

javascript - 使用 TypeScript 接口(interface)在 JS 代码中进行运行时验证