typescript - Cum opresc IntelliJ să genereze fișiere .js pentru sursele mele .ts
Am un proiect mixt Java/Typescript care folosește Maven ca unealtă de construire împreună cu frontend-maven-plugin și pot să îmi construiesc proiectul așa cum mă aștept din linia de comandă. Am însă o problemă cu IntelliJ 2018.2, în care continuă să transpilizeze fișierele .js pentru codul meu sursă .ts. Fișierele .js sunt preluate de runner-ul de teste Jest, așa că testele sunt rulate de două ori și cauzează eșecul construcției Maven deoarece nu trec de linting.
Am serviciul de limbaj TypeScript activat deoarece dacă acesta este dezactivat, IntelliJ îmi arată erori în tot codul meu TypeScript. Dacă debifez „Recompilează la modificări”, atunci fiecare fișier .ts afișează un mesaj în partea de sus întrebând dacă doresc să „Compilez TypeScript în JavaScript? Da/Nu/Configurează”.
Este posibil să configurezi IntelliJ astfel încât să scrie fișiere .js într-un director de build separat (care este exclus) în același mod în care funcționează create-react-app?
Răspuns #1
Asigură-te că dezactivezi Recompile on changes în Settings | Languages & Frameworks | TypeScript. Pentru a scrie fișiere .js într-un folder separat, setează "outDir" în tsconfig.json la calea dorită. Dacă nu folosești tsconfig.json, poți specifica --outDir <DIRECTORY> în câmpul Options:. Dar recomand cu tărie să configurezi tsconfig.json în loc să treci opțiuni cmd la compilator - folosirea tsconfig.json este un standard al industriei pentru lucrul cu aplicații TypeScript