Ce face declarationDir
Implicit, fișierele .d.ts ajung lângă fișierele .js (în outDir sau lângă surse). Cu declarationDir, le trimiți într-un director separat, de exemplu tipuri/, păstrând aceeași structură de subdirectoare.
Este util când pachetul publică tipurile separat sau când un bundler produce JavaScript-ul în alt loc. Nu are valoare implicită. Necesită declaration sau composite.
Parametri
| Parametru | Descriere |
|---|---|
"cale" |
Directorul pentru .d.ts, relativ la tsconfig.json. |
Exemple
Exemplul 1: JavaScript în dist, tipuri în tipuri
Aceeași sursă src/magazin.ts; cele două fișiere generate ajung în directoare diferite.
// tsconfig.json
{
"compilerOptions": {
"module": "nodenext",
"target": "es2022",
"declaration": true,
"outDir": "dist",
"declarationDir": "tipuri"
}
}
Rezultat (tsc 5.9)
$ npx tsc && find dist tipuri -type f | sort
dist/magazin.js
tipuri/magazin.d.ts
Greșeli frecvente
- Să muți declarațiile și să uiți să actualizezi câmpul
"types"dinpackage.json.
Comenzi înrudite
declaration: Generează lângă fiecare fișier .js un fișier .d.ts cu tipurile lui, ca alte proiecte să-l poată folosi cu tipuri.outDir: Directorul în care tsc scrie fișierele generate, cu aceeași structură de subdirectoare ca sursele.rootDir: Spune care director este rădăcina surselor; structura de sub el se păstrează în outDir.