Angular的tsconfig.json文件中的lib数组中有什么dom?

Кat*_*tya 5 javascript config typescript angular

在我的Angular 6项目中,在tsconfig.json和ts.config.spec.json中,我有以下部分:

"lib": [
      "es2016",
      "dom"
    ]
Run Code Online (Sandbox Code Playgroud)

dom为了什么?

这里的官方文档说:“ ...您可以排除不想包含在项目中的声明,例如,如果您正在使用--lib es5,es6在节点项目上工作,则可以排除DOM。”

但是我不确定这在实践中意味着什么。我们不指定“您不需要的任何声明”。

在添加domlibtsconfig.spec.ts中的数组之前,我的测试完全失败了。这是做什么的?

hgi*_*sac 8

domlib 是一组 JavaScript Web API 接口,包括 DOM、DOM Events、Audio、Canvas、Video、XHR API……你可以在这里看到完整的源代码

当然,如果您正在开发前端 Web,您应该包含这个库。对于后端 Node.js 开发,它是可选的。但是,有一些 Node.js 包同时用于前端和后端。并且在不包含它的情况下编译时会遇到 type missing 错误