tsc - TypeScript kompilera och behåll kommentarer
Jag gillar att ha mina kommentarer intakta i den resulterande javascript-filen, som standard tar kompilatorn bort dem. Finns det en tsc-parameter för det? (Användningsfallet är att behålla /// reference path's=... för chutzpah enhetstestning.)
Svar #1
Sedan 2015 kan du skapa en tsconfig.json i ditt projekt och lägga till "removeComments": false i dess "compilerOptions"-egenskap för att behålla dina kommentarer i de resulterande JavaScript-filerna.
1. Skapa filen tsconfig.json för ditt projekt från din terminal (om det behövs)
tsc -init
2. Lägg till "removeComments": false i din tsconfig.json-fil inne i "compilerOptions"-egenskapen
I slutet bör du förvänta dig att innehållet i din tsconfig.json-fil ser ut så här:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": false,
"removeComments": false
},
"exclude": [
"node_modules"
]
}
3. Kompilera din .ts-fil till en .js-fil från din terminal
- Använd
tsc myFile.tsför att behålla dina kommentarer - Använd
tsc --removeComments myFile.tsför att ta bort dina kommentarer
Du kan lära dig mer om tsconfig.json kompilatoralternativ på Typescriptlang.orgs tsconfig.json-sida.
Dessutom, enligt Typescript-dokumentationen, kommer inställning av true eller false på egenskapen "removeComments" inte att påverka upphovsrättshuvudskommentarer som börjar med /*!. Därför kommer de alltid att visas i dina .js-filer.
Svar #2
Kommentarer som börjar med /*! bevaras.
exempel:
/*! denna kommentar förblir oförändrad */
/* men denna kommer att tas bort */
Svar #3
Ja, -c (eller --comments) alternativet;
Syntax: tsc [alternativ] [fil ..]
Exempel: tsc hello.ts
tsc --out foo.js foo.ts
tsc @args.txtAlternativ:
-c, --comments Skriv ut kommentarer till utdata
...
Svar #4
För närvarande använder jag 1.6.2 och det verkar som att kommentarer bevaras som standard. Den enda kommentar-relaterade flaggan i kompilatorn är att ta bort kommentarer. Enligt dokumentationen:
--removeComments
Ta bort alla kommentarer utom copyright-huvudkommentarer som börjar med /!*
