猿问

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

我是打字稿的新手,下面关于 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"]

 }

}

然后我得到了一个错误:


找不到名称“控制台”


下面是我的问题


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


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


BIG阳
浏览 178回答 2
2回答

森林海

也添加dom库 -有关其他库,请参见"lib": ["dom", "es6"]

慕桂英4014372

TypeScript 具有lib基于target您设置的默认值。它们记录在编译器选项页面上(不幸的是我无法直接链接到它,搜索--lib跳转到它)ES5 : DOM, ES5,ScriptHostES6 : DOM, ES6, DOM.Iterable,ScriptHost因此,正如另一个答案所说,如果您lib手动指定,则必须确保包含您需要的默认值中的内容:"lib": ["dom", "es6"]如果您想知道这些库中包含哪些内容,请查看文件夹中TypeScriptlib存储库中的文件本身。例如ScriptHost是lib.scripthost.d.ts
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答