【发布时间】:2017-01-11 05:14:31
【问题描述】:
我有一个在 tsconfig.json 中有这一行的现有项目:
lib:["2016", "DOM"]
这样做的目的是什么?
我能找到的唯一信息是:
指定要包含在编译中的库文件。需要 TypeScript 2.0 或更高版本。
这是什么意思?
【问题讨论】:
标签: typescript
我有一个在 tsconfig.json 中有这一行的现有项目:
lib:["2016", "DOM"]
这样做的目的是什么?
我能找到的唯一信息是:
指定要包含在编译中的库文件。需要 TypeScript 2.0 或更高版本。
这是什么意思?
【问题讨论】:
标签: typescript
这是一个新的 typescript 2 功能,因此它仍然缺少文档,但您可以在 What's new in Typescript 2.0 中阅读它:
使用 --lib 可以指定内置 API 声明组的列表 您可以选择包含在您的项目中。例如,如果你 期望您的运行时支持 Map、Set 和 Promise(例如 今天大多数常青浏览器),只包括 --lib es2015.collection,es2015.promise。同样,您可以排除 您不想包含在项目中的声明,例如DOM 如果 您正在使用 --lib es5,es6 处理节点项目。
还有一个受支持的API groups 列表以及该链接中的一个非常简短的示例。
【讨论】:
ts 中使用 es5 类型来抱怨编译器,或者某种类型的 poly-填充将由tsc提供?
"lib": ["es5"] 而不指定“dom”,tsc 会抱怨使用 DOM 特定方法,对吗?跨度>
es6 并且不包含polyfills,旧的浏览器会卡住。