typescript - tsc nu creează o mulțime de fișiere .js în proiectul meu. Pune-le în dist


Vreau ca tsc să compileze toate fișierele .ts în fișiere .js, apoi să le pună în altă parte.

Fișierul meu tsconfig are opțiunea "outDir": "./dist",.

Am rulat o comandă îndreptată către fișierul meu principal tsc ./src/server.ts.

Cum fac ca tsc să nu creeze o mulțime de fișiere js peste tot și să le pună în dist în schimb?

EDIT: Am descoperit ce greșeam. Există vreo modalitate să-i spui TypeScript (poate la nivel global) să nu genereze niciodată, niciodată, niciodată o mulțime de fișiere js în loc? Este o adevărată bătaie de cap să faci asta din greșeală și apoi să trebuiască să le cureți.

Răspuns #1

Setarea "noEmit": true sub compilerOptions în tsconfig.json va avea ca rezultat necrearea fișierelor .js.

{
    "compilerOptions": {
        "noEmit": true,
        ...
    }
    ...
}

Răspunsul #2

Nu direcționa tsc către niciun fișier.

Doar rulează tsc fără ./src/server.ts

Din câte pot spune, nu există nicio modalitate de a dezactiva global tsc să genereze fișiere .js peste tot dacă se întâmplă să greșești comanda. Cea mai sigură opțiune este să creezi un script în package.json și să-l apelezi întotdeauna doar pe acela.

Dacă trebuie să ștergeți rapid un grup de fișiere js, puteți face acest lucru astfel (https://unix.stackexchange.com/a/116390/132794):

ASIGURAȚI-VĂ CĂ AVEȚI DIRECTORUL CORECT

find /path/to/directory -type f -name '*.js' -exec rm {} +

Dacă îți păstrezi src în directorul de nivel rădăcină lângă node_modules, va trebui să faci ceva suplimentar pentru a nu șterge modulele tale. Sau pur și simplu șterge întregul folder node_modules, apoi rulează din nou npm i. Dacă ceva se strică, oricum va trebui să repari asta.