javascript - Comanda `tsc` acceptă fișiere .d.ts?


Am un fișier .d.ts și aș dori să-l compilez într-un fișier .js. Este posibil acest lucru folosind comanda tsc?

Știu că comanda tsc poate lua orice fișier .ts și apoi îl poate compila într-un fișier .js (am testat acest lucru). Totuși, nu am reușit să o fac să preia un fișier .d.ts ca intrare deoarece nu a generat niciun fișier .js pentru mine.

Am încercat să mă joc cu tsconfig.json și așa arată fișierul meu momentan:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "ali_output_javascript"
    }
}

De asemenea, știu următoarele despre fișierele .d.ts și .ts. Fișierele de declarație TypeScript (.d.ts) descriu structura unui fișier JavaScript. Ele îți permit să folosești cod JavaScript existent în TypeScript fără a fi nevoie să scrii tot codul în TypeScript. Fișierele TypeScript (.ts) sunt doar extensia standard a fișierelor atunci când scrii în TypeScript.

Din acest articol de pe Medium (https://medium.com/jspoint/typescript-compilation-the-typescript-compiler-4cb15f7244bc), se spune că compilarea TypeScript caută extensiile de fișiere .ts și .d.ts:

În mod normal, ați folosi opțiunea files sau include și ați furniza căile fișierelor sau modele glob pentru a include fișiere TypeScript în procesul de compilare. Totuși, puteți elimina extensia .ts din modelul glob și permiteți compilatorului TypeScript să caute fișierele de intrare. Când un model glob nu are o extensie de fișier, TypeScript caută fișierele care se termină cu extensia .ts sau .d.ts în directorul indicat de modelul glob. Fișierul .d.ts este un fișier de declarații TypeScript, acest tip de fișier a fost discutat în lecția Fișiere de Declarații (în curând). Când opțiunea de compilator allowJS este setată pe true, TypeScript va căuta, de asemenea, și fișiere .js.

Vă rog să-mi spuneți dacă aveți sugestii și vă mulțumesc pentru timpul acordat.

Răspuns #1

Ai înțeles greșit ce sunt fișierele .d.ts.

Ele nu ar trebui să fie transpuse în fișiere .js. În schimb, fișierele .ts ar trebui să fie transpuse în fișiere .js și .d.ts pentru tipizare strictă într-un IDE JavaScript, sau pentru utilizare ulterioară într-un proiect TypeScript.

De asemenea, fișierele .d.ts nu sunt executabile și nu pot produce fișiere executabile, deoarece sunt doar carcase goale cu tipuri. Acest lucru este cunoscut și ca declarație ambientală, în termenii TypeScript, ceea ce înseamnă „fără implementare”.