[英]es2018 vs es2018.promise vs es2018.regexp
對於--lib
cmd行arg,TypeScript編譯器具有以下選項 :
它們之間有什么區別? 如果我僅需要Promisefinally()
支持並且不關心其他ES2018功能,應該使用ES2018
還是ES2018.Promise
?
另外,既然這些ES2018
庫支持哪個TS版本? 當我嘗試在TS 2.6.2中使用它們時,它拋出:
錯誤:tsconfig.json(16,13):錯誤TS6046:“-lib”選項的參數必須為:“ es5”,“ es6”,“ es2015”,“ es7”,“ es2016”,“ es2017”,“ esnext”,“ dom”,“ dom.iterable”,“ webworker”,“ scripthost”,“ es2015.core”,“ es2015.collection”,“ es2015.generator”,“ es2015.iterable”,“ es2015.promise” ,'es2015.proxy','es2015.reflect','es2015.symbol','es2015.symbol.wellknown','es2016.array.include','es2017.object','es2017.sharedmemory','es2017。字符串”,“ es2017.intl”,“ esnext.asynciterable”。
lib
選項僅提供這些庫的類型。 如果您指定ES2018
,則即使您定位到ES2015,也將得到ES2018
輸入。 默認情況下,TypeScript根據您指定的目標設置一些庫,但是自2.0版以來,它允許您手動添加更多類型。
它們之間有什么區別?
它們是不同功能族的子集。
如果我僅需要Promisefinally()支持並且不關心其他ES2018功能,應該使用ES2018還是ES2018.Promise?
是的,您可以滿足自己的需求。 但是,如果包含更多的JavaScript,則不會增加生成的JavaScript。
從哪些TS版本開始支持這些ES2018庫?
如果您使用的是本機不支持功能的目標,則可以將軟件包下載(npm)到Polyfill。 它與TS版本沒有直接關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.