微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Typescript编译器的默认lib值是什么?

如何解决Typescript编译器的默认lib值是什么?

documentation--lib认是从--target派生的:

注意:如果未指定--lib,则认的库列表为 注射。注入的认库为:

  • 对于--target ES5:DOM,ES5,ScriptHost
  • 对于--target ES6:DOM,ES6,DOM.Iterable,ScriptHost

同一文档指出认的--target值为 ES3

指定ECMAScript目标版本:

  • “ ES3”(认)
  • “ ES5”
  • “ ES6” /“ ES2015”
  • “ ES2016”
  • “ ES2017”
  • “ ES2018”
  • “ ES2019”
  • ES2020
  • “ ESNext”

那么...当--lib--lib都没有设置时,--target认值是什么?

解决方法

在源代码中有一个 list of supported libs,其中有一个名为“默认库”的部分:

        // Default libraries
        "es5.full","es2015.full","es2016.full","es2017.full","es2018.full","es2019.full","es2020.full","es2021.full","esnext.full"

这些对应于您的目标设置。

查看其中一个 (lib.es2017.full.d.ts) 的源代码,您可以看到它导入的内容:

/// <reference lib="es2017" />
/// <reference lib="dom" />
/// <reference lib="webworker.importscripts" />
/// <reference lib="scripthost" />
/// <reference lib="dom.iterable" />

仅供参考,所有语言级别都导入前一个。所以举个例子:es2018导入es2017,导入es2016,导入es2015,导入es5。 “es6”是独一无二的,因为没有任何东西导入它。

源代码中似乎没有“es3”lib 文件,所以我没有答案。尝试设置 noLib,看看有什么问题,然后在下面评论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。