概述
如果一個目錄下存在 tsconfig.json 檔案,則表明該目錄是 TypeScript 專案的根目錄。tsconfig.json 檔案指定了編譯該專案所需的根檔案和編譯器選項。
JavaScript 專案可以使用 jsconfig.json 檔案來代替,它的作用幾乎相同,但預設啟用了一些與 JavaScript 相關的編譯器標誌。
專案可以透過以下方式之一進行編譯:
使用 tsconfig.json 或 jsconfig.json
- 透過在呼叫 tsc 時不輸入任何檔案。在這種情況下,編譯器會從當前目錄開始,並沿父目錄鏈向上搜尋
tsconfig.json檔案。 - 透過在呼叫 tsc 時不輸入任何檔案,並使用
--project(或簡寫-p)命令列選項。該選項指定一個包含tsconfig.json檔案的目錄路徑,或者指向包含配置的有效.json檔案的路徑。
當在命令列中指定了輸入檔案時,tsconfig.json 檔案會被忽略。
示例
tsconfig.json 檔案示例
-
使用
files屬性{"": {"": "commonjs","": true,"": true,"": true,"": true},"": ["core.ts","sys.ts","types.ts","scanner.ts","parser.ts","utilities.ts","binder.ts","checker.ts","emitter.ts","program.ts","commandLineParser.ts","tsc.ts","diagnosticInformationMap.generated.ts"]} -
{"": {"": "system","": true,"": true,"": true,"": "../../built/local/tsc.js","": true},"": ["src/**/*"],"": ["**/*.spec.ts"]}
TSConfig 基礎配置
根據你打算執行程式碼的 JavaScript 執行時環境,你可以在 github.com/tsconfig/bases 找到可使用的基礎配置。這些是你的專案可以繼承的 tsconfig.json 檔案,它們透過處理執行時支援來簡化你的 tsconfig.json。
例如,如果你正在編寫一個使用 Node.js 12 及以上版本的專案,那麼你可以使用 npm 模組 @tsconfig/node12。
{"": "@tsconfig/node12/tsconfig.json","": {"": true},"": ["src/**/*"],"": ["**/*.spec.ts"]}
這讓你的 tsconfig.json 可以專注於專案的獨特需求,而無需關注所有的執行時機制。目前已經有了一些基礎 tsconfig 配置,我們希望社群能為不同的環境新增更多配置。
詳情
"compilerOptions" 屬性可以省略,在這種情況下將使用編譯器的預設設定。檢視我們支援的 編譯器選項完整列表。
TSConfig 參考
瞭解更多關於 TSConfig 參考中數百個配置選項的資訊。
Schema
tsconfig.json 的 Schema 可以在 JSON Schema Store 找到。