Ce face disableSourceOfProjectReferenceRedirect
Aceste opțiuni schimbă doar comportamentul editorului (serverul de limbaj TypeScript din VS Code și alte editoare), nu și compilarea cu tsc. Sunt utile în monorepo-uri mari, unde editorul încarcă prea multe proiecte și devine lent.
disableSourceOfProjectReferenceRedirect: implicit, editorul citește direct sursele .ts ale proiectelor referite (modificările se văd imediat). Cu true, folosește fișierele .d.ts generate, ca tsc; e mai rapid, dar trebuie să construiești proiectele ca să vezi schimbările. disableSolutionSearching: la „Find All References” sau „Go to Definition”, editorul nu mai caută proiectul-rădăcină care conține acest proiect. disableReferencedProjectLoad: editorul nu mai încarcă automat toate proiectele referite, ci doar pe cele deschise.
Toate trei sunt implicit false.
Parametri
| Parametru | Descriere |
|---|---|
disableSourceOfProjectReferenceRedirect |
Editorul folosește .d.ts, nu sursele proiectelor referite. |
disableSolutionSearching |
Proiectul nu este căutat ca parte dintr-o soluție mai mare. |
disableReferencedProjectLoad |
Proiectele referite nu sunt încărcate automat în editor. |
Exemple
Exemplul 1: Opțiunile nu schimbă compilarea
tsc acceptă opțiunile și compilează la fel. Efectul se vede doar în editor.
// tsconfig.json
{
"compilerOptions": {
"module": "nodenext",
"target": "es2022",
"noEmit": true,
"disableSourceOfProjectReferenceRedirect": true,
"disableSolutionSearching": true,
"disableReferencedProjectLoad": true
}
}
Rezultat (tsc 5.9)
$ npx tsc && echo "compilare fără erori"
compilare fără erori
Greșeli frecvente
- Să pornești
disableSourceOfProjectReferenceRedirectși să te miri că editorul nu vede o funcție nouă din alt proiect. Ruleazătsc -bca să se actualizeze.d.ts-urile.
Comenzi înrudite
composite: Pregătește un proiect pentru a fi folosit prin „references” de alte proiecte și construit cu tsc -b.disableSizeLimit: Scoate limita de 20 MB de cod JavaScript pe care serverul de limbaj din editor o încarcă într-un proiect.plugins: Lista de pluginuri pentru serverul de limbaj din editor (completare, erori suplimentare); tsc le ignoră la compilare.