如何解决Typescript编译器的默认lib值是什么?
documentation说--lib
默认是从--target
派生的:
注意:如果未指定--lib,则默认的库列表为 注射。注入的默认库为:
- 对于--target ES5:DOM,ES5,ScriptHost
- 对于--target ES6:DOM,ES6,DOM.Iterable,ScriptHost
同一文档指出默认的--target
值为 ES3 :
指定ECMAScript目标版本:
那么...当--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 举报,一经查实,本站将立刻删除。