Ce face incremental
Cu incremental, tsc scrie la final un fișier .tsbuildinfo cu ce a verificat și ce a generat. La următoarea rulare citește fișierul, află ce s-a schimbat și sare peste restul. În proiecte mari, a doua compilare poate fi de câteva ori mai rapidă.
Locul fișierului: în outDir, dacă este setat, altfel lângă tsconfig.json; numele vine din numele configurației (tsconfig.tsbuildinfo). tsBuildInfoFile îl mută unde vrei. Fără tsconfig.json (doar cu fișiere în linia de comandă), --incremental cere --tsBuildInfoFile (TS5074).
Implicit este false, dar devine true când composite este true. Fișierul .tsbuildinfo nu trebuie pus în git.
Parametri
| Parametru | Descriere |
|---|---|
incremental |
Salvează și folosește .tsbuildinfo. |
tsBuildInfoFile |
Calea fișierului .tsbuildinfo. |
Exemple
Exemplul 1: Două compilări la rând
La a doua rulare nu mai apare deloc rândul „Check time”: nimic nu s-a schimbat, deci verificarea a fost sărită. Fișierul tsconfig.tsbuildinfo a ajuns în dist, lângă index.js.
// tsconfig.json
{
"compilerOptions": {
"module": "nodenext",
"target": "es2022",
"incremental": true,
"outDir": "dist"
}
}
// index.ts
console.log("Bună");
Rezultat posibil (timpii și cifrele diferă la fiecare rulare)
$ npx tsc --extendedDiagnostics | grep -E 'Check time|Files:|Total time'
Files: 64
Check time: 0.30s
Total time: 0.46s
$ ls dist
index.js
tsconfig.tsbuildinfo
$ npx tsc --extendedDiagnostics | grep -E 'Check time|Files:|Total time'
Files: 64
Total time: 0.15s
Exemplul 2: Alt loc pentru .tsbuildinfo și fără tsconfig
tsBuildInfoFile mută fișierul. Fără tsconfig.json, --incremental singur nu este acceptat.
npx tsc --tsBuildInfoFile .cache/build.tsbuildinfo
Rezultat (tsc 5.9)
$ npx tsc --tsBuildInfoFile .cache/build.tsbuildinfo && ls .cache
build.tsbuildinfo
$ npx tsc --incremental index.ts
error TS5074: Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified.
Greșeli frecvente
- Să ștergi
distși să lași.tsbuildinfoîn altă parte. tsc crede că fișierele există deja și nu le mai scrie; șterge și.tsbuildinfo.
Comenzi înrudite
composite: Pregătește un proiect pentru a fi folosit prin „references” de alte proiecte și construit cu tsc -b.--watch: Pornește tsc în modul „watch”: recompilează automat la fiecare salvare a unui fișier.diagnostics: Afișează după compilare statistici: câte fișiere, rânduri și tipuri, memoria folosită și timpul fiecărei etape.outDir: Directorul în care tsc scrie fișierele generate, cu aceeași structură de subdirectoare ca sursele.