_tsconfig.json
_ファイル内にあるlib
で、compilerOptions
プロパティの可能な値が何を意味するかを調査してきました。 TypeScript GitHub ページで、これらの値に対応する関連する_d.ts
_ファイルを見つけました。明らかに、_ES2017
_を使用すると、次のES機能が含まれます。
_/// <reference path="lib.es2016.d.ts" />
/// <reference path="lib.es2017.object.d.ts" />
/// <reference path="lib.es2017.sharedmemory.d.ts" />
/// <reference path="lib.es2017.string.d.ts" />
/// <reference path="lib.es2015.d.ts" />
/// <reference path="lib.es2016.array.include.d.ts" />
/// <reference path="lib.es2015.core.d.ts" />
/// <reference path="lib.es2015.collection.d.ts" />
/// <reference path="lib.es2015.generator.d.ts" />
/// <reference path="lib.es2015.iterable.d.ts" />
/// <reference path="lib.es2015.promise.d.ts" />
/// <reference path="lib.es2015.proxy.d.ts" />
/// <reference path="lib.es2015.reflect.d.ts" />
/// <reference path="lib.es2015.symbol.d.ts" />
/// <reference path="lib.es2015.symbol.wellknown.d.ts" />
/// <reference path="lib.es5.d.ts" />
_
しかし、どうやらES6は含まれておらず、何も参照しない独自の file があります。私の質問は、誰かが知っているなら、_es2017
_を使用することによって(タイピングの観点から)すべての_es6
_機能をカバーすると仮定しても安全ですか、それともlib
オプションに個別に含める必要がありますか?
たとえば、次のようになります。
_{
...
"compilerOptions": {
...
"lib": ["es2017", "dom"]
},
...
}
}
_
またはこれ:
_{
...
"compilerOptions": {
...
"lib": ["es2017", "es6", "dom"]
},
...
}
}
_
TypeScript GitHub のlib
フォルダーを掘り下げて比較したところ、lib
のcompilerOptions
プロパティでes6
を使用すると、これらの参照にあるコードに対応することがわかりました。
/// <reference path="lib.es2015.core.d.ts" />
/// <reference path="lib.es2015.collection.d.ts" />
/// <reference path="lib.es2015.generator.d.ts" />
/// <reference path="lib.es2015.iterable.d.ts" />
/// <reference path="lib.es2015.promise.d.ts" />
/// <reference path="lib.es2015.proxy.d.ts" />
/// <reference path="lib.es2015.reflect.d.ts" />
/// <reference path="lib.es2015.symbol.d.ts" />
/// <reference path="lib.es2015.symbol.wellknown.d.ts" />
/// <reference path="lib.es5.d.ts" />
/// <reference path="lib.dom.d.ts" />
/// <reference path="lib.scripthost.d.ts.d.ts" />
/// <reference path="lib.dom.iterable.d.ts" />
したがって、私の質問に答えるために、es6
のすべての内容をes2017
で正しくカバーするには、tsconfig.jsonのそのセクションは次のようになります。
{
...
"compilerOptions": {
...
"lib": ["es2017", "dom", "dom.iterable", "scripthost"]
},
...
}
}