filesystemwatcher - PHPStorm IDE TypeScript-filövervakare
Som standard i PHPStorm 6 skapas de kompilerade *.js-filerna i samma mapp som *.ts-filerna.
Det jag behöver är att de kompilerade *.js och *.d.js ligger i en annan undermapp än samma som *.ts-filerna.
Sammanfattningsvis:
Jag har rotmappen "Project"
Jag har en undermapp "ts" där alla *.ts-filer finns.
Jag har en undermapp "scripts" där jag vill att de kompilerade *.js och *.d.js ska vara.
Hur kan jag åstadkomma detta med PHPStorm TypeScript-filövervakare?
Jag har försökt flera makron som i Utdatafältet i dialogrutan för Filvakt som:
$FileParentDir$/scripts/$FileNameWithoutExtension$.js:$FileParentDir$/scripts/$FileNameWithoutExtension$.js.map
men ingen av dem fungerade.
Svar #1
Fältet 'Output paths' i File Watcher-konfigurationen talar bara om för IDE:n var den ska leta efter skapade filer (används för automatisk synkronisering) och har ingen betydelse för programmet som körs. TypeScript-kompilatorn har alternativet --out som talar om för kompilatorn var den ska lägga de genererade filerna
Var snäll och prova följande:
Argument: --sourcemap $FileName$ --out $ProjectFileDir$/scripts/$FileNameWithoutExtension$.js
Arbetskatalog: $FileDir$
Utdata Vägar: $ProjectFileDir$/bin/$FileNameWithoutExtension$.js:$ProjectFileDir$/bin/$FileNameWithoutExtension$.js.map
Hoppas detta hjälper
Svar #2
Tack vare @CrazyCoder:s referenser lyckades jag (äntligen!) få detta att fungera bra.
Utdatafilens sökväg måste du ange i Arguments-parametern, inte i Output-sökvägen.
Tricket var att --out inte accepterar mappvägar, istället måste du använda filvägen.
Se bilden som referens för en fullt fungerande konfiguration.
I denna konfiguration är organisationen:
ts/:*.ts-filer.scripts/: kompilerade*.js&*.js.map&*.d.ts-filer.
OBS: I nyare versioner av kompilatorn är den korrekta parametern declaration (utan avslutande s) och inte declarations.
