lib 属性
sap spartacus 应用的 tsconfig.json 文件里,有一个 lib 属性,值为 es2020 和 dom:
typescript 包括一组内置 js api(如 math)的默认类型定义,以及浏览器环境(如 document)中的类型定义。 typescript 还包括用于与您指定的目标匹配的较新 js 功能的 api; 例如,如果目标是 es6 或更高版本,则 map 的定义可用。
我们可以根据实际需要来修改 lib 属性的值。
常见场景
- 您的程序不在浏览器中运行,因此您不需要“dom”类型定义
- 您的运行时平台提供了某些 javascript api 对象(可能通过 polyfills),但尚不支持给定 ecmascript 版本的完整语法
- 您有一些(但不是全部)更高级别 ecmascript 版本的 polyfill 或本机实现
lib 支持下列值
- es5: 所有 es3 和 es5 功能的 es5 核心定义
- es2015:es2015(也称为 es6)中可用的其他 api,比如 array.find、promise、proxy、symbol、map、set、reflect 等。
- es6:“es2015”的别名
- es2016 es2016 中可用的其他 api,比如 array.include 等。
- es7: “es2016”的别名
- es2017: es2017 中可用的其他 api, 比如 object.entries、object.values、atomics、sharedarraybuffer、date.formattoparts、类型化数组等。
- es2018:es2018 中可用的其他 api - async iterables、promise.finally、intl.pluralrules、regexp.groups 等。
- es2019:es2019 中可用的其他 api - array.flat、array.flatmap、object.fromentries、string.trimstart、string.trimend 等。
- es2020 es2020 中可用的其他 api,string.matchall 等。
- es2021:es2021 中可用的其他 api - promise.any、string.replaceall 等。
- esnext:esnext 中可用的其他 api - 这会随着 javascript 规范的发展而变化
- dom:dom 定义 - 窗口、文档等。
- webworker:上下文中可用的 webworker api
- scripthost:用于 windows 脚本宿主系统的 scripthost api
比如有了 dom 定义,我们可以在 angular 应用里使用 dom 相关的 api:
以上就是angular应用tsconfig.json中的lib属性示例解析的详细内容,更多关于angular应用tsconfig.json lib的资料请关注代码网其它相关文章!
发表评论