È necessario selezionare ECMAScript v5, ovvero passare l'argomento -target ES5
al compilatore. Questo deve essere impostato nella configurazione di destinazione dei file di progetto.
Non so se VS dispone di meccanismi incorporati per la modifica delle configurazioni di destinazione, quindi posso solo dirti come farlo manualmente. È sufficiente aprire il file di progetto .csproj
, cercare il nodo Target
in cui si trova il comando del compilatore TypeScript e aggiungere l'argomento -target ES5
.
Nel mio config sembra che questo:
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" -target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
Aggiornamento
A partire dalla versione 0.8.1.0, la versione hardcoded di dipendenza è stato rimosso ed è stato aggiunto il supporto per le mappe di origine, e così il Target
nodo ora assomiglia a questo di default:
<Target Name="BeforeBuild">
<Message Text="Compiling TypeScript files" />
<Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
<Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
Iniettando il target
Argu mento è ancora piuttosto semplice, è sufficiente mettere dopo tsc
o $(TypeScriptSourceMap)
:
<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
ringrazio molto ... funziona come un fascino ...^_^y – DexDude
Di niente :) Si prega di notare che si consiglia di contrassegnare le risposte che ha risolto il problema in questione come accettato (il piccolo segno di spunta accanto ad esso), non si tratta solo di reputazione, ma aiuta anche gli altri a scegliere le informazioni giuste (supponendo che ci siano più risposte), è un indicatore per altri interlocutori e rispondenti che la domanda è risolta, e altri sarà più incoraggiato a rispondere alle tue domande quando vedranno che non sarà per niente. – ndm
La mia destinazione BeforeBuild ha un comando Exec = tsc $ (TypeScriptSourceMap) @ ... piuttosto che il " $ (PROGRAMFILES) ... quello che hai menzionato. Ho installato qualcosa in modo errato? Sai dove mettere il target ES5 con quello stile di Exec Command? – GaryB96