我是打字稿的新手,下面关于 lib 属性和目标属性的一个问题是 tsconfig.json 文件:{ "compilerOptions": { "target": "es5", "outDir": "./dist", "rootDir": "./src", "noEmitOnError": true, }}//index.tsconsole.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 属性可以工作?
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
TypeScript 具有lib
基于target
您设置的默认值。
它们记录在编译器选项页面上
(不幸的是我无法直接链接到它,搜索--lib
跳转到它)
ES5 :
DOM
,ES5
,ScriptHost
ES6 :
DOM
,ES6
,DOM.Iterable
,ScriptHost
因此,正如另一个答案所说,如果您lib
手动指定,则必须确保包含您需要的默认值中的内容:
"lib": ["dom", "es6"]
如果您想知道这些库中包含哪些内容,请查看文件夹中TypeScriptlib
存储库中的文件本身。例如ScriptHost
是lib.scripthost.d.ts
添加回答
举报
0/150
提交
取消