typescript - Vad är skillnaden mellan `tsc --build --clean` och `rm -rf *.js`?
Jag har en snabb fråga om tsc-kommandot som används med argumenten --build --clean, vilket jag förstår används för att rensa/ta bort de .js-filer som tidigare genererats av Transpilatorn (tsc).
Vad är specialiteten eller betydelsen av detta kommando? Om jag någonsin behöver ta bort alla .js-filer kan jag enkelt göra det med rm -rf *.js eller del *.js i katalogen.
Kan någon upplysa mig om de saknade delarna, om det finns några?
Svar #1
Skillnaden är att rm glatt tar bort alla filer, även om de inte genererades genom att transpilera TypeScript.
OBS!
tsc --build --cleankommer bara att ta bort.js-filer om det finns en motsvarande.ts-fil som de skulle ha genererats från. Detta innebär att om du byter namn på.ts-filer, tar bort.ts-filer, eller skapar nya.ts-filer, och sedan körtsc --build --clean, kommer gamla.js-filer som tidigare hade motsvarande.ts-filer inte längre att tas bort.Om du verkligen vill städa upp innan en build, särskilt när mängden
.ts-filer har ändrats, bör du istället radera din output-mapp på ett annat sätt. Till exempelrm -rf dist/i ett unix-skal, ellerrm -r -fo dist/i Windows PowerShell. Eller, eftersom du troligen använder Node.js om du använder TypeScript, använd ett plattformsoberoende paket somrimrafför att radera din output-mapp.
Svar #2
Skillnaden är att --clean i allmänhet är meningslöst. Om du någonsin har bytt namn på, flyttat eller tagit bort en källfil, kommer clean inte att rensa den transpilerade utdata.