web-dev-qa-db-ja.com

TypeScriptとBabelを一緒に使用するのはなぜですか?

NPMとNodeJSで実行されている社内で作成されたビルド自動化があります。 TypeScriptとBabelを連携させるために、いくつかの変換ステップを自動化することに完全に満足しています。どんなメリットがあるのだろう。誰か教えてもらえますか? TSがES6のサポートを追加したため、Babelは実際には必要ないようです。考えられることの1つは、Babelが新しい機能をより早くサポートすることですが、TSは現時点ではそれほど遅れていないようです。

何か不足していますか?

17
Kraken

私の意見では、TypeScriptを使用してTypeScriptコードをES6にトランスパイルし、次にbabelを使用してes5/es3に再トランスパイルして、ほとんどのJavaScriptランタイムで使用します。 TypeScriptコンパイラーがes6 javascriptを提供するので、次のことができます tree-shaking es6モジュールでのみサポートされます。そして、es6 javascriptをツリーシェイクした後、es5にコンパイルして、ほとんどのJavaScriptランタイムで使用できるようにします。

基本的に

1)tsをjs-es6にコンパイルします

tsconfig

{
  "compilerOptions": {
    "target": "es6"
  }
}

2)ES6 JavaScriptでのツリーシェイクまたはデッドコードの除去

Tree Shakingロールアップなどの使用

3)ほとんどのJavaScriptランタイムで実行できるようにes5 JavaScriptにトランスパイル

。babelrc

{
  "presets": [
    "es-2015",
    "stage-2"
  ]
}
12
Lekhnath