tsc CLI 選項

使用 CLI

在本地端執行 tsc 會編譯由 tsconfig.json 定義的最接近專案,或者你可以傳入想要的一組檔案 glob 來編譯一組 TypeScript 檔案。當在命令列中指定輸入檔案時,會忽略 tsconfig.json 檔案。

sh
# Run a compile based on a backwards look through the fs for a tsconfig.json
tsc
# Emit JS for just the index.ts with the compiler defaults
tsc index.ts
# Emit JS for any .ts files in the folder src, with the default settings
tsc src/*.ts
# Emit files referenced in with the compiler settings from tsconfig.production.json
tsc --project tsconfig.production.json
# Emit d.ts files for a js file with showing compiler options which are booleans
tsc index.js --declaration --emitDeclarationOnly
# Emit a single .js file from two files via compiler options which take string arguments
tsc app.ts util.ts --target esnext --outfile index.js

編譯器選項

如果您正在尋找有關 tsconfig 中編譯器選項的更多資訊,請查看 TSConfig 參考

CLI 命令

旗標 類型
--all

布林值

顯示所有編譯器選項。

--generateTrace

字串

產生事件追蹤和類型清單。

--help

布林值

提供 CLI 說明的當地資訊。

--init

布林值

初始化 TypeScript 專案並建立 tsconfig.json 檔案。

--listFilesOnly

布林值

列印編譯一部分的檔案名稱,然後停止處理。

--locale

字串

設定 TypeScript 訊息的語言。這不會影響發射。

--project

字串

根據其組態檔的路徑編譯專案,或編譯具有「tsconfig.json」的資料夾。

--showConfig

布林值

列印最後的組態,而不是建置。

--version

布林值

列印編譯器的版本。

建置選項

旗標 類型
--build

布林值

建置一個或多個專案及其相依性(如果過期)

--clean

布林值

刪除所有專案的輸出。

--dry

布林值

顯示將建置的內容(或如果使用「--clean」指定,則顯示將刪除的內容)

--force

布林值

建置所有專案,包括看似最新的專案。

--verbose

布林值

啟用詳細記錄。

監控選項

旗標 類型
--excludeDirectories

清單

從監控程序中移除目錄清單。

--excludeFiles

清單

從監控模式的處理中移除檔案清單。

--fallbackPolling

fixedintervalpriorityintervaldynamicpriorityfixedchunksize

如果系統用盡原生檔案監控程式,請指定監控程式應使用哪種方法。

--synchronousWatchDirectory

布林值

在原生不支援遞迴監控的平台上,同步呼叫回呼並更新目錄監控程式的狀態。

--watch

布林值

監控輸入檔案。

--watchDirectory

usefseventsfixedpollingintervaldynamicprioritypollingfixedchunksizepolling

指定在缺乏遞迴檔案監控功能的系統上監控目錄的方式。

--watchFile

fixedpollingintervalprioritypollingintervaldynamicprioritypollingfixedchunksizepollingusefseventsusefseventsonparentdirectory

指定 TypeScript 監控模式運作的方式。

編譯器旗標

旗標 類型 預設值
--allowArbitraryExtensions

布林值

false

啟用匯入任何副檔名的檔案,只要有宣告檔即可。

--allowImportingTsExtensions

布林值

false

允許匯入包含 TypeScript 檔案副檔名的檔案。

--allowJs

布林值

false

允許 JavaScript 檔案成為程式的一部分。使用 checkJS 選項取得這些檔案的錯誤。

--allowSyntheticDefaultImports

布林值

如果啟用 esModuleInteropmodulesystem,或 moduleResolutionbundler,則為 true;否則為 false

當模組沒有預設匯出時,允許 'import x from y'。

--allowUmdGlobalAccess

布林值

false

允許從模組存取 UMD 全域變數。

--allowUnreachableCode

布林值

停用無法到達程式碼的錯誤回報。

--allowUnusedLabels

布林值

停用未使用的標籤的錯誤回報。

--alwaysStrict

布林值

如果 stricttrue;否則為 false

確保總是發出 'use strict'。

--assumeChangesOnlyAffectDirectDependencies

布林值

false

讓使用 incrementalwatch 模式的專案中的重新編譯假設檔案內的變更只會影響直接依賴它的檔案。

--baseUrl

字串

指定基本目錄以解析裸指定的模組名稱。

--charset

字串

utf8

不再支援。在早期版本中,手動設定用於讀取檔案的文字編碼。

--checkJs

布林值

false

在類型檢查的 JavaScript 檔案中啟用錯誤回報。

--composite

布林值

false

啟用約束,允許 TypeScript 專案與專案參考一起使用。

--customConditions

清單

在解析匯入時,除了解析器特定的預設值外,還要設定的條件。

--declaration

布林值

如果 compositetrue;否則為 false

從專案中的 TypeScript 和 JavaScript 檔案產生 .d.ts 檔案。

--declarationDir

字串

指定產生宣告檔案的輸出目錄。

--declarationMap

布林值

false

為 d.ts 檔案建立原始碼對應。

--diagnostics

布林值

false

在建置後輸出編譯器效能資訊。

--disableReferencedProjectLoad

布林值

false

減少 TypeScript 自動載入的專案數量。

--disableSizeLimit

布林值

false

移除 TypeScript 語言伺服器中 JavaScript 檔案總原始碼大小的 20mb 上限。

--disableSolutionSearching

布林值

false

在編輯時讓專案退出多專案參考檢查。

--disableSourceOfProjectReferenceRedirect

布林值

false

參照複合專案時,停用偏好來源檔案而非宣告檔。

--downlevelIteration

布林值

false

發射更相容,但冗長且效能較差的 JavaScript 以進行反覆運算。

--emitBOM

布林值

false

在輸出檔案開頭發射 UTF-8 位元組順序標記 (BOM)。

--emitDeclarationOnly

布林值

false

僅輸出 d.ts 檔案,而不輸出 JavaScript 檔案。

--emitDecoratorMetadata

布林值

false

在來源檔案中發射已裝飾宣告的設計類型中繼資料。

--esModuleInterop

布林值

如果 modulenode16nodenext,則為 true;否則為 false

發射其他 JavaScript 以簡化支援匯入 CommonJS 模組。這會啟用 allowSyntheticDefaultImports 以進行類型相容性。

--exactOptionalPropertyTypes

布林值

false

將選擇性屬性類型解釋為已寫入,而不是新增 undefined

--experimentalDecorators

布林值

false

啟用對 TC39 階段 2 草稿裝飾器的實驗性支援。

--explainFiles

布林值

false

列印編譯期間讀取的檔案,包括包含原因。

--extendedDiagnostics

布林值

false

在建置後輸出更詳細的編譯器效能資訊。

--forceConsistentCasingInFileNames

布林值

true

確保匯入中的大小寫正確。

--generateCpuProfile

字串

profile.cpuprofile

發射編譯器執行期間的 v8 CPU 剖析以進行偵錯。

--importHelpers

布林值

false

允許從 tslib 匯入輔助函式一次,而不是每個檔案都包含。

--importsNotUsedAsValues

removepreserveerror

remove

指定僅用於類型的匯入的發射/檢查行為。

--incremental

布林值

如果 compositetrue;否則為 false

儲存 .tsbuildinfo 檔案以允許專案的增量編譯。

--inlineSourceMap

布林值

false

將原始碼檔案包含在發出的 JavaScript 中。

--inlineSources

布林值

false

將原始碼包含在發出的 JavaScript 中的原始碼中。

--isolatedModules

布林值

false

確保每個檔案都能安全地轉譯,而不用依賴其他匯入。

--jsx

preservereactreact-nativereact-jsxreact-jsxdev

指定要產生的 JSX 程式碼。

--jsxFactory

字串

React.createElement

指定在目標為 React JSX 發出時使用的 JSX 工廠函式,例如「React.createElement」或「h」。

--jsxFragmentFactory

字串

React.Fragment

指定在目標為 React JSX 發出時用於片段的 JSX 片段參考,例如「React.Fragment」或「Fragment」。

--jsxImportSource

字串

react

使用 jsx: react-jsx* 時,指定用於匯入 JSX 工廠函式的模組規格符。

--keyofStringsOnly

布林值

false

讓 keyof 僅傳回字串,而不是字串、數字或符號。舊選項。

--lib

清單

指定一組描述目標執行時間環境的已綑綁程式庫宣告檔案。

--listEmittedFiles

布林值

false

在編譯後列印發出檔案的名稱。

--listFiles

布林值

false

列印編譯期間讀取的所有檔案。

--mapRoot

字串

指定偵錯程式應該在何處找到對應檔案,而不是在產生位置。

--maxNodeModuleJsDepth

數字

0

指定用於檢查來自 node_modules 的 JavaScript 檔案的最大資料夾深度。僅適用於 allowJs

--module

nonecommonjsamdumdsystemes6/es2015es2020es2022esnextnode16nodenext

如果 targetES3ES5,則為 CommonJS;否則為 ES6/ES2015

指定要產生的模組程式碼。

--moduleDetection

傳統自動強制

「自動」:將包含匯入、匯出、import.meta、jsx(使用 jsx:react-jsx)或 esm 格式(使用 module:node16+)的檔案視為模組。

指定用於偵測檔案是腳本或模組的方法。

--moduleResolution

傳統node10/nodenode16nodenextbundler

如果 moduleAMDUMDSystemES6/ES2015,則為傳統;如果 modulenode16nodenext,則符合;否則為 Node

指定 TypeScript 從給定的模組指定符號中查詢檔案的方式。

--moduleSuffixes

清單

解析模組時要搜尋的檔案名稱字尾清單。

--newLine

crlflf

平台特定。

設定發射檔案的新行字元。

--noEmit

布林值

false

停用從編譯中發射檔案。

--noEmitHelpers

布林值

false

停用在編譯輸出中產生自訂的輔助函數,例如 __extends

--noEmitOnError

布林值

false

如果報告任何類型檢查錯誤,則停用發射檔案。

--noErrorTruncation

布林值

false

停用在錯誤訊息中截斷類型。

--noFallthroughCasesInSwitch

布林值

false

啟用 switch 陳述式中穿透案例的錯誤報告。

--noImplicitAny

布林值

如果 stricttrue;否則為 false

啟用對具有隱含 any 類型的表達式和宣告的錯誤報告。

--noImplicitOverride

布林值

false

確保衍生類別中的覆寫成員標記有覆寫修飾詞。

--noImplicitReturns

布林值

false

啟用對函數中未明確回傳的程式碼路徑的錯誤報告。

--noImplicitThis

布林值

如果 stricttrue;否則為 false

this 被賦予 any 類型時,啟用錯誤回報。

--noImplicitUseStrict

布林值

false

停用在發出的 JavaScript 檔案中加入 'use strict' 指令。

--noLib

布林值

false

停用包含任何函式庫檔案,包括預設的 lib.d.ts。

--noPropertyAccessFromIndexSignature

布林值

false

強制使用索引存取器來存取使用索引類型宣告的鍵。

--noResolve

布林值

false

不允許 importrequire<reference> 從擴充 TypeScript 應新增到專案的檔案數量。

--noStrictGenericChecks

布林值

false

停用函式類型中泛型簽章的嚴格檢查。

--noUncheckedIndexedAccess

布林值

false

使用索引存取時,將 undefined 新增到類型。

--noUnusedLocals

布林值

false

當未讀取區域變數時,啟用錯誤回報。

--noUnusedParameters

布林值

false

當未讀取函式參數時,引發錯誤。

--out

字串

已棄用的設定。請改用 outFile

--outDir

字串

指定所有發出檔案的輸出資料夾。

--outFile

字串

指定將所有輸出組合成一個 JavaScript 檔案的檔案。如果 declaration 為 true,也會指定將所有 .d.ts 輸出組合成的檔案。

--paths

物件

指定一組將輸入重新對應到其他查詢位置的項目。

--plugins

清單

指定要包含的語言服務外掛程式清單。

--preserveConstEnums

布林值

如果 isolatedModulestrue,則為 true;否則為 false

停用在產生的程式碼中清除 const enum 宣告。

--preserveSymlinks

布林值

false

停用將符號連結解析為其真實路徑。這與 node 中的相同旗標相關。

--preserveValueImports

布林值

false

保留 JavaScript 輸出中未使用的已匯入值,否則這些值將會被移除。

--preserveWatchOutput

布林值

false

停用在監控模式下清除主控台。

--pretty

布林值

true

在 TypeScript 的輸出中啟用色彩和格式化,以讓編譯器錯誤更容易閱讀。

--reactNamespace

字串

React

指定為 createElement 呼叫的物件。這僅適用於目標為 react JSX 發射時。

--removeComments

布林值

false

停用發射註解。

--resolveJsonModule

布林值

false

啟用匯入 .json 檔案。

--resolvePackageJsonExports

布林值

moduleResolutionnode16nodenextbundler 時為 true;否則為 false

在解析套件匯入時使用 package.json 的「exports」欄位。

--resolvePackageJsonImports

布林值

moduleResolutionnode16nodenextbundler 時為 true;否則為 false

在解析匯入時使用 package.json 的「imports」欄位。

--rootDir

字串

從輸入檔案清單中計算。

指定來源檔案中的根資料夾。

--rootDirs

清單

從輸入檔案清單中計算。

允許在解析模組時將多個資料夾視為一個資料夾。

--skipDefaultLibCheck

布林值

false

略過類型檢查隨 TypeScript 附帶的 .d.ts 檔案。

--skipLibCheck

布林值

false

略過類型檢查所有 .d.ts 檔案。

--sourceMap

布林值

false

為發射的 JavaScript 檔案建立原始碼對應檔。

--sourceRoot

字串

指定偵錯程式尋找參考原始碼的根路徑。

--strict

布林值

false

啟用所有嚴格類型檢查選項。

--strictBindCallApply

布林值

如果 stricttrue;否則為 false

檢查 bindcallapply 方法的引數是否與原始函式相符。

--strictFunctionTypes

布林值

如果 stricttrue;否則為 false

在指定函式時,檢查以確保參數和回傳值是子類型相容的。

--strictNullChecks

布林值

如果 stricttrue;否則為 false

在類型檢查時,考量 nullundefined

--strictPropertyInitialization

布林值

如果 stricttrue;否則為 false

檢查在建構函式中宣告但未設定的類別屬性。

--stripInternal

布林值

false

停用發出在其 JSDoc 註解中具有 @internal 的宣告。

--suppressExcessPropertyErrors

布林值

false

在建立物件文字期間停用報告多餘的屬性錯誤。

--suppressImplicitAnyIndexErrors

布林值

false

在索引缺少索引簽章的物件時,抑制 noImplicitAny 錯誤。

--target

es3es5es6/es2015es2016es2017es2018es2019es2020es2021es2022esnext

ES3

設定發出 JavaScript 的 JavaScript 語言版本,並包含相容的函式庫宣告。

--traceResolution

布林值

false

記錄在 moduleResolution 處理期間使用的路徑。

--tsBuildInfoFile

字串

.tsbuildinfo

用於儲存 .tsbuildinfo 增量建置資訊的檔案。

--typeRoots

清單

指定多個資料夾,其作用類似於 ./node_modules/@types

--types

清單

指定要包含的類型套件名稱,而無須在來源檔案中參照。

--useDefineForClassFields

布林值

如果 targetES2022 或更高版本(包括 ESNext),則為 true;否則為 false

發出符合 ECMAScript 標準的類別欄位。

--useUnknownInCatchVariables

布林值

如果 stricttrue;否則為 false

將預設的 catch 子句變數設為 unknown,而非 any

--verbatimModuleSyntax

布林值

false

不要轉換或省略任何未標示為僅限類型的匯入或匯出,確保它們以根據「模組」設定編寫在輸出檔案的格式中。

TypeScript 文件是一個開放原始碼專案。透過 傳送 Pull Request ❤ 來協助我們改善這些頁面。

此頁面的貢獻者
MHMohamed Hegazy (96)
OTOrta Therox (54)
DRDaniel Rosenwasser (19)
ADAxel D (14)
AGAnton Gilgur (7)
60+

最後更新:2024 年 3 月 21 日