ルートフィールド
最初に、tsconfig のルートオプションについて説明します。これらのオプションは、TypeScript プロジェクトまたは JavaScript プロジェクトの設定方法に関連しています。
# Files - files
# Extends - extends
extends
の値は、継承する別の設定ファイルへのパスを含む文字列です。パスはNode.jsスタイルの解決を使用できます。
基本ファイルの設定が最初に読み込まれ、その後、継承する設定ファイルの設定によって上書きされます。設定ファイルに見つかったすべての相対パスは、それらが由来した設定ファイルに対して解決されます。
files
、include
、およびexclude
は、継承する設定ファイルから基本設定ファイルを *上書き* し、設定ファイル間の循環は許可されないことに注意してください。
現在、継承から除外される最上位レベルのプロパティはreferences
のみです。
例
configs/base.json
:
{" ": {" ": true," ": true}}
tsconfig.json
:
{" ": "./configs/base"," ": ["main.ts", "supplemental.ts"]}
tsconfig.nostrictnull.json
:
{" ": "./tsconfig"," ": {" ": false}}
設定ファイルに見つかった相対パスを持つプロパティで、継承から除外されていないものは、それらが由来した設定ファイルに対して解決されます。
- デフォルト
false
- リリース済み
# Include - include
プログラムに含めるファイル名またはパターンの配列を指定します。これらのファイル名は、tsconfig.json
ファイルを含むディレクトリを基準にして解決されます。
json
{"include": ["src/**/*", "tests/**/*"]}
これには以下が含まれます
. ├── scripts ⨯ │ ├── lint.ts ⨯ │ ├── update_deps.ts ⨯ │ └── utils.ts ⨯ ├── src ✓ │ ├── client ✓ │ │ ├── index.ts ✓ │ │ └── utils.ts ✓ │ ├── server ✓ │ │ └── index.ts ✓ ├── tests ✓ │ ├── app.test.ts ✓ │ ├── utils.ts ✓ │ └── tests.d.ts ✓ ├── package.json ├── tsconfig.json └── yarn.lock
include
とexclude
は、ワイルドカード文字をサポートしてglobパターンを作成します。
*
は、0 個以上の文字(ディレクトリセパレーターを除く)に一致します。?
は、任意の1文字(ディレクトリセパレーターを除く)に一致します。**/
は、任意のレベルにネストされた任意のディレクトリに一致します。
パターンの最後のパスセグメントにファイル拡張子またはワイルドカード文字が含まれていない場合、それはディレクトリとして扱われ、そのディレクトリ内のサポートされている拡張子のファイルが含まれます(例:デフォルトでは.ts
、.tsx
、.d.ts
で、allowJs
がtrueに設定されている場合は.js
と.jsx
)。
# Exclude - exclude
# References - references
プロジェクト参照は、TypeScript プログラムをより小さな部分に分割する方法です。プロジェクト参照を使用すると、ビルド時間とエディターのインタラクション時間を大幅に向上させ、コンポーネント間の論理的な分離を強化し、コードを新しい方法で整理することができます。
参照の動作の詳細については、ハンドブックのプロジェクト参照セクションを参照してください。
- デフォルト
false