[解決済み] Node.js 12のTypeScript tsconfigの設定?
質問
最適なTypeScriptの
tsconfig
の設定は、Node.js 12で実行されるコードを出力するために最適ですか?
どのように解決するのですか?
Node.jsの場合
12.0.0
として、100% ES2019 がサポートされています。そのバージョン以降をターゲットにしていることが分かっている場合、最適なコンフィグは以下のようになります。
-
"module": "commonjs"
Node.jsはES-Moduleを追加する方向ですが、今はCommonJSにこだわるしかないでしょう。
-
"target": "es2019"
これはTypeScriptに、JavaScriptを出力しても良いということを伝えるものです。 構文 を出力することを許可する。実際には、ポリフィルを埋め込む代わりに、例えばオブジェクトレスト/スプレッドプロパティやasync/await構文を出力することを意味します。
-
"lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"]
これは、TypeScriptに 関数とプロパティ を使用してもよいことを伝えます。実際のところ、これは例えば
String.prototype.trimStart
とArray.prototype.flat
.ES2019 に加え、Node.js 12 では
BigInt
を追加しました。matchAll
はES2020のものであるため、ES2020の追加定義を含んでいます。
したがって、完全な構成は次のようになります。
{
"compilerOptions": {
"lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"],
"module": "commonjs",
"target": "es2019"
}
}
Node.jsをターゲットにしている場合
12.9.0
またはそれ以降の
を指定すると、単純に
"lib": ["es2020"]
を指定するだけで、そのバージョンはすべての新しい
関数とプロパティ
をサポートしているからです。これは、新しい JavaScript の
構文
をサポートしていないので、まだ
"target": "es2019"
.
完全なコンフィグはこのようになります。
{
"compilerOptions": {
"lib": ["es2020"],
"module": "commonjs",
"target": "es2019"
}
}
Node.js 16を実行している場合、私の Node.js 16 に対する同様の回答はこちらです。
もしあなたがNode.js 14を実行しているならば、私の Node.js 14のための同様の回答はこちらです。
もしあなたがNode.js 10を実行しているならば、私の Node.js 10のための同様の回答はこちらです。
もしNode.js 8を実行しているならば、私の Node.js 8のための同様の回答はこちらです。
関連
-
[解決済み] 非推奨パッケージに関するNPM警告メッセージ
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsで現在のスクリプトのパスを取得するにはどうしたらいいですか?
-
[解決済み] Node.js + Nginx - 今度は何?
-
[解決済み】TypeScriptのインターフェースと型について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] Json Web Token verify() return jwt malformed
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。