javascript - lib 属性是否覆盖 tsconfig.json 中的目标属性

标签 javascript json typescript

我是 typescript 新手,只是关于 lib 属性和目标属性的问题 下面是 tsconfig.json 文件:

{
 "compilerOptions": {
 "target": "es5",
 "outDir": "./dist",
 "rootDir": "./src",
 "noEmitOnError": true,
 }
}
//index.ts
console.log("Hello World");

所以它工作完美,

但是我想要 ES6 Map() 所以我将配置文件更改为:

{
 "compilerOptions": {
 "target": "es5",
 "outDir": "./dist",
 "rootDir": "./src",
 "noEmitOnError": true,
 "lib": ["es6"]
 }
}

然后我得到一个错误:

cannot find name 'console'

下面是我的问题

Q1-es5、es6不是已经包含DOM API了吗?

Q2-如果 es5 和 es6 不包含 DOM API,为什么它在没有 lib 属性的情况下第一次工作?

最佳答案

TypeScript 的默认值为 lib基于target您已设置。

它们记录在 compiler options page
(不幸的是我无法直接链接到它,搜索 --lib 跳转到它)

  • ES5:DOM , ES5 , ScriptHost
  • ES6:DOM , ES6 , DOM.Iterable , ScriptHost

正如另一个答案所说,如果您指定 lib手动,您必须确保也包含您需要的默认值中的内容:

"lib": ["dom", "es6"]

如果您想知道其中一些库包含哪些内容,请查看 TypeScript repo in the lib folder 上的文件本身。例如ScriptHost lib.scripthost.d.ts

关于javascript - lib 属性是否覆盖 tsconfig.json 中的目标属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57916751/

相关文章:

javascript - 更改所有标签的属性

php - 使用 json 显示组合图表

c++ - 如何在 c/c++ 中将 JSON 文件转换为 UTF-8 格式?

javascript - 搜索 div 并设置属性的 jQuery 代码

javascript - 拖放上传图片文件大小限制

javascript - 是否有用于在 JavaScript 中生成概率分布的科学库?

json - 在 Swift 中解析 PHP Web 服务 Replt

javascript - 如何在 NestJS 中为每个新的 HTTP 请求使用新实例?

typescript - 使用注入(inject)的 Angular 服务作为静态方法中的依赖项

typescript - 在动态 import() 中使用完整的 URL