根欄位
TSConfig 中的根選項用於配置 TypeScript 或 JavaScript 專案的設定方式。
# 檔案列表 - files
指定包含在程式中的檔案白名單。如果找不到任何指定檔案,將報錯。
{"": {},"": ["core.ts","sys.ts","types.ts","scanner.ts","parser.ts","utilities.ts","binder.ts","checker.ts","tsc.ts"]}
當專案檔案數量很少且無需使用萬用字元引用大量檔案時,該選項很有用。如果需要萬用字元,請使用 include。
- 預設值
false - 相關選項
include
exclude
- 釋出版本
1.5
# 繼承 - 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 - 釋出版本
2.1
# 包含 - 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 模式
*匹配零個或多個字元(不包括目錄分隔符)?匹配任意單個字元(不包括目錄分隔符)**/匹配任何層級的巢狀目錄
如果模式的最後一個路徑段不包含副檔名或萬用字元,則將其視為目錄,幷包含該目錄中支援副檔名的檔案(例如,預設支援 .ts、.tsx 和 .d.ts,如果 allowJs 設定為 true,則還支援 .js 和 .jsx)。
- 預設值
[](如果指定了files);否則為**/*。 - 相關選項
files
exclude
- 釋出版本
2.0
# 排除 - exclude
# 專案引用 - references
專案引用是一種將 TypeScript 程式組織成更小模組的方法。使用專案引用可以顯著提高構建和編輯器響應速度,強制實現元件間的邏輯分離,並以新的改進方式組織程式碼。
您可以在手冊的 專案引用 章節中閱讀更多關於其工作原理的內容。
- 預設值
false - 釋出版本
3.0