web-dev-qa-db-ja.com

Node.js 10のタイプスクリプトtsconfig設定?

Node.js v10.xがジェネレーターなしでビルトインasync/awaitを使用するために必要なターゲット/ライブラリは誰でも知っていますか?ノード8では多く見られますが、ノード10では見られません。

9
four43

Node.js現在10.0.0、ES2018の100%がサポートされています。そのバージョン以降をターゲットにしていることがわかっている場合、最適な構成は次のようになります。

  • "module": "commonjs"

    Node.jsはESモジュールを追加する方法に取り組んでいますが、今のところCommonJSに固執する必要があります。

  • "target": "es2018"

    これは、ES2018の機能を備えたJavaScriptsyntaxを出力しても問題ないことをTypeScriptに伝えます。実際には、これは、例えばポリフィルを埋め込む代わりに、出力オブジェクトのrest/spreadプロパティとasync/await構文。

  • "lib": ["es2018"]

    これにより、ES2018以前で導入された関数とプロパティを使用しても問題ないことがTypeScriptに通知されます。実際には、これは、たとえばPromise.prototype.finallyArray.prototype.includesおよびString.prototype.padStart

したがって、完全な構成は次のようになります。

{
  "compilerOptions": {
    "lib": ["es2018"],
    "module": "commonjs",
    "target": "es2018"
  }
}

Node.js 8を実行している場合、 Node.js 8の同様の回答はこちら

10
Linus Unnebäck

ノード8の推奨TypeScript構成--target ES2017は、Node 8.10.0以降(Node 10を含む)でサポートされています。非同期関数を出力せずに出力に渡すだけで十分です。それらをジェネレータに変換します。

8
Matt McCutchen