tsconfig.json生成器
ガイド
tsconfig.json生成器
構築する tsconfig.json TypeScriptプロジェクトにオプション名を覚える必要がない、またはリリースノートを調べて最新のコンパイラ変更を確認する必要がない場合。プリセット(Node ESM、Node CommonJS、React、Next.js、ライブラリ、または最も厳しい)を選択し、厳密性のスイッチを調整し、パスエイリアスを追加して生成されたJSONをプロジェクトのルートにコピーする。
TypeScriptのコンパイラ設定は鋭い表面です:オプション名は大文字小文字敏感であり、リリースごとにリストが増加し、誤ったまたは廃止されたキーは静かに誤った出力を生成し、すぐに失敗しないことがあります。チェックされたオプションのみを出力するフォームベースのジェネレーターは、プロジェクトの実行環境とビルドパイプラインに合った動作する設定を最も速く取得する方法です。
使用方法
- ドロップダウンを開き、プロジェクトに最も近いものを選択します。フォームはターゲット、モジュールシステム、JSXモード、および推奨オプションに意味のあるデフォルト値を自動で埋め込みます。 プリセットプロファイル 言語とモジュール
- 調整する セクションに、実行環境が異なる場合を想定します。 . Set
target,module、 またはmoduleResolutionif you compile React. if you compile React. fields (jsxReactをコンパイルする場合。 - [名前]を設定してください プロジェクトレイアウト フィールド(
rootDir,outDir,baseUrl) to match your folder structure. Add path aliases one per line asalias=target(たとえば@/*=src/*). - を使用して、よく使用されるヘッダーをデフォルト値とともに挿入します。認証セクションで認証タイプと認証情報を設定し、カスタムヘッダーを手動で追加します。curl、Postman、またはコードで使用するための完全なヘッダーセットをコピーします。 厳密性 と チェック checkboxes to opt into individual compiler checks.
strictenables the full strict family in one click. - の 出力と相互運用 セクションはファイルの生成方法およびデフォルトインポートの動作を制御します。Enable
declarationfor libraries ornoEmitwhen a bundler handles output. - Copy the generated config from the output panel, or download it directly as
tsconfig.json.
機能
- プリセットプロファイル – Node (ESMおよびCommonJS)、React、Next.jsアプリルーター、ライブラリ、および新しいプロジェクト用の最も厳しいプロファイル。
- すべての現代ターゲットバージョン – ES5からES2023およびESNextまで、モジュールシステムを含むNodeNextおよびバンドラー解決を含む。
- パスエイリアスビルダー – 1行1行でエイリアスを入力;ジェネレーターはエイリアスが存在する場合に自動的に接続します。
baseUrl自動的に接続します。 - 細かい厳密性 – Toggle
noUncheckedIndexedAccess,exactOptionalPropertyTypes, and other individual strict family flags. - JSXサポート –
react-jsx,react-jsxdev, classicreact、 またはpreservefor bundlers. - インラインコメント – 各オプションには短い説明を付加し、生成されたファイルが自らを説明できるようにします。
- 含めるおよび除外するグローバルパターン – 多行入力で
includeとexcludeパターンを入力し、プリセットごとに意味のあるデフォルト値を提供します。 - ライブラリモード – ライブラリプリセットは
declaration,declarationMapと、sourceMapを有効にし、消費者が完全な型を取得できるようにします。 - コピーまたはダウンロード – 結果を1クリックでリポにドロップします。
よくある質問
-
tsconfig.jsonとは何ですか?TypeScriptがなぜそれを必要としているのですか?
tsconfig.jsonは、TypeScriptコンパイラがプロジェクトに属するファイルを決定し、どのようにコンパイルするかを判断するために読み込む設定ファイルです。このディレクトリに存在することで、そのディレクトリがTypeScriptプロジェクトのルートとされます。存在しない場合、コンパイラは一時的なファイルに対して動作しますが、エディタ、ビルドパイプライン、およびlint統合ツールはこのファイルに依存して、コード、ターゲットランタイム、および型チェックの厳密性について一貫した視点を共有するために依存します。
-
モジュールとmoduleResolutionの違いは?
moduleはTypeScriptが出力するJavaScriptの構文を制御します — CommonJSのrequire/exports、ESモジュールのimport/export、またはNodeNextのようなハイブリッド。moduleResolutionは独立しており、ディスク上のimport指定子の検索方法を制御します — たとえば、拡張子なしのimportが.tsファイルに解決されるか、package.jsonのexportフィールドが尊重されるか、またはバンドラー風の解決器が仮定されるか。現代のバンドラーを使用するプロジェクトでは、通常module: ESNextとmoduleResolution: Bundlerを組み合わせます。バンドラーを使わない純粋なNodeプロジェクトでは、module: NodeNextとmoduleResolution: NodeNextを組み合わせます。
-
strictは実際に何を有効にしますか?
strict は、strict ファミリのすべてのフラグを1つのスイッチで有効にするメタフラグです:noImplicitAny、strictNullChecks、strictFunctionTypes、strictBindCallApply、strictPropertyInitialization、noImplicitThis、alwaysStrict、useUnknownInCatchVariables です。今後のコンパイラバージョンで追加される strict フラグも自動的に含まれます。個別のフラグは明示的に設定することで、strict のデフォルトを上書きできますが、ほとんどの新しいプロジェクトでは strict を有効にし、noUncheckedIndexedAccess などのより厳しいオプションを追加するのが望ましいです。
-
baseUrl とパスエイリアスはどのように機能しますか?
paths は、import の指定子から実際のファイル場所へのマッピングを定義し、baseUrl に対して相対的に検索されます。たとえば、baseUrl: "." かつ paths: { "@/*": ["src/*"] } は、@/utils からのインポートを ./src/utils に解決させます。パスエイリアスは型チェックにのみ影響します。バンドラー、テストランナー、実行環境は、同じパスが実行時に機能するように、それぞれの同等の設定(Vite resolve.alias、Jest moduleNameMapper、Node imports フィールド)が必要です。
-
noEmit を有効にするべきタイミングはいつですか?
noE-than は、別のツール(たとえば Vite、esbuild、webpack、または Next.js など)が JavaScript 出力を作成し、TypeScript はタイプチェックのみを行うプロジェクトに適しています。noEmit が有効な場合、コンパイラはタイプを検証しますが、ファイルを出力しません。CI では、タイプチェックステップを高速化するためにも有用です。npm に公開するライブラリプロジェクトでは、noEmit を無効にし、コンパイラが .js および .d.ts ファイルをソースファイルとともに出力できるようにしてください。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
