簡體   English   中英

lib屬性會覆蓋tsconfig.json中的目標屬性嗎

[英]does lib property overwrite target property in tsconfig.json

我是TypeScript的新手,以下是tsconfig.json文件中有關lib屬性和target屬性的一個問題:

{
 "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?

問題2-如果es5和es6不包含DOM API,沒有lib屬性,它如何第一次起作用?

也添加dom庫-有關其他庫,請參見此處

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

TypeScript具有基於您設置的target lib的默認值。

它們記錄在編譯器選項頁面上
(不幸的是,我無法直接鏈接到它,搜索--lib可以跳轉到它)

  • ES5DOMES5ScriptHost
  • ES6DOMES6DOM.IterableScriptHost

因此,正如另一個答案所說,如果您手動指定lib ,則必須確保還包含所需的默認值:

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

如果您想知道其中的某些庫包含什么,請查看lib文件夾中TypeScript存儲庫中的文件本身。 例如ScriptHostlib.scripthost.d.ts

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM