私はTypeScriptプロジェクトに取り組んでいます。私たちはBabelを経由するため、libsの1つと出力ターゲットとしてES2017を使用しています。 Babelでターゲットとする「Env」の最新機能をサポートします。TypeScript TSConfig CompilerOptions ES2017ターゲットとライブラリ
すべてがうまくいくように見えるので、あまり心配していません。しかし、私は舞台裏で何が起こっているのか、あるいは "lib"オプションが本当に何をしているのか分からない(私のIDEに私ができること、例えば普及活動、約束など) TypeScriptの最高出力を指定してから、Babelの非常に特定のターゲットにコンパイルすることは効率的ではありません。これはWebPackも行っているので、私たちは木の揺れを利用しています。
「ES2017」がlibに含まれている場合、ES2015とES2016のすべての機能が含まれていますか(言い換えれば、ES2015またはES2016をES2017とともに使用する理由はありますか?さておき、バベルで「最後の1つのChromeのバージョンを」ターゲッティング「のEnv」として)
{
"compilerOptions": {
"target": "ES2017",
"module": "ES2015",
"moduleResolution": "Node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"allowSyntheticDefaultImports": true,
"noEmitHelpers": true,
"importHelpers": true,
"pretty": true,
"alwaysStrict": true,
"lib": [
"DOM",
"ES2017",
"DOM.Iterable",
"ScriptHost"
],
"baseUrl": "./client",
"paths": {
"styles/*": ["./app/styles/*"],
"core/*": ["./app/core/*"],
"components/*": ["./app/components/*"],
"containers/*": ["./app/containers/*"],
"assets/*": ["./assets/*"],
"config/*": ["./config/*"]
}
},
"files": [
"./client/custom-typings.d.ts",
"./client/app/app.ts"
]
}
、それはほとんどかなりエキサイティングである、まったくtranspilingもしません。プロダクトコードではなく、プロトタイプを作成するだけなので、サポートが必要なときにサポートする必要のあるブラウザを追加しますが、Chromeの最後のバージョンではないものはほとんどありません。