Hvordan legger jeg til Loggfila til en eksisterende Asp.Net MVC-prosjektet?

stemmer
42

Jeg elsker ideen bak Loggfila, men kan ikke synes å finne ut hvordan å inkludere det i en ASP.Net MVC prosjekt. Jeg har allerede installert Visual Studio forlengelse, men jeg kan ikke synes å finne et eksempel eller dokumentasjon på hvordan du legger til *.tsfiler som kompilere inn *.jsfiler.

Edit: Egentlig bør jeg gjenskape den måten at Win8 eksempel .jsprojinkluderer og håndterer .tsfiler? Eller vil det bare fungere for HTML / JS Win8 prosjekter?

Publisert på 01/10/2012 klokken 20:22
kilden bruker
På andre språk...                            


6 svar

stemmer
24

Advarsel: Dette svaret er nå ganske datert, som både Loggfila og MVC er betydelig endret siden dette svaret. Jeg skal prøve en oppdatering senere. - Richcoder

Takk til Sohnee for svaret.

Du kan legge til Loggfila filer til et eksisterende prosjekt ved hjelp av Add> Ny dialog element. exampleImage Vær oppmerksom på at 'loggfila' varen ikke ligge under Web gruppen, men under det overordnede i dette tilfellet Visual C #.

Dette bør legge til en loggfila og Visual Studio vil gjøre resten.

Deretter må du legge til disse linjene til prosjektet filen:

 <ItemGroup>
    <AvailableItemName Include="TypeScriptCompile" />
 </ItemGroup>
 <ItemGroup>
    <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
 </ItemGroup>
 <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" IgnoreExitCode="true" />
 </Target>

Det fungerte perfekt for meg, men kan du kommentere hvis du får problemer.

Svarte 02/10/2012 kl. 23:38
kilden bruker

stemmer
19

Det er riktig. alt du trenger er ms bygge mål å bygge Ts filer til filer JS. Den Win8 eksempelet viser en beforeBuild mål å ringe TSC på alle filer som tilhører bransjegruppe TypeScriptCompile, som er definert som $ (ProjectDir) ***. Ts (eller alle Ts filer i prosjektet).

Replikere dette mønsteret skal fungere i alle MSBuild prosjektet, og ikke bare Win8 prosjekter.

Her er et eksempel på hva jeg snakker om: Legg dette til noen MSBuild prosjekt, og du bør samle noen Ts filen til equivialnt JS-fil når bygget starter ..

<ItemGroup> 
   <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>


<Target Name="TypeScriptCompile" BeforeTargets="Build">
   <Message Text="Compiling TypeScript files" />
   <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>
Svarte 01/10/2012 kl. 22:14
kilden bruker

stemmer
7

Jeg kastet sammen en nuget pakke som gir en MSBuild mål fil til prosjektet. Den vil kjøre TSC kompilatoren og rydde opp sin produksjon, slik at du kan dobbeltklikke på feilene i Visual Studio og hoppe til filen / linje / kolonne.

https://www.nuget.org/packages/Sholo.TypeScript.Build

Du må sette Build Handling i egenskapsvinduet til 'TypeScriptCompile' for noe som du ønsker TSC å kompilere. Fra et par dager med fiksing og triksing med maskinskrevet manuskript, har jeg funnet ut at Ts filer som gjør det referering bør settes til TypeScriptCompile, men filene som bare blir referert bør ikke, men YMMV. Dessuten kan du trenger å vise alle filer og legge den opprinnelige JS-fil. Hvis du ønsker å gruppere relaterte Ts / JS / .d.ts filer sammen, ta en titt på VsCommands forlengelse. Arbeidsflyt er også ganske fin med NetDemon / lignende utvidelser.

Svarte 04/10/2012 kl. 00:55
kilden bruker

stemmer
4

Hvis du bruker Bunting og forminskning , jeg har nettopp sluppet en implementering av IBundleTransform som samler Loggfila til Javascript. Det er på GitHub og nuget (Installer-pakke TypeScriptBundleTransform). Hvis du ennå ikke bruker Bunting og forminskning, er det verdt en titt!

Svarte 07/10/2012 kl. 22:51
kilden bruker

stemmer
3

Oppdater:

Bare installere Web Essentials 2012 plugin, du vil ha automatisk kompilering på spare - for både JS og .min.js og en ryddig delt syn å se Javascript utgang ved siden av typescript-kode.


Dette er en grov metode jeg har brukt:

Høyreklikk Project> Egenskaper> Bygg Hendelser

PreBuild boksen lim inn denne (rekursivt bygger alle Ts filer i prosjektet):

forfiles /S /P $(ProjectDir) /m *.ts /c "cmd /c tsc @file"

For å bygge bestemt oppføring filen:

tsc $(ProjectDir)MyScripts/myfile.ts

Jeg er sikker på at det er en bedre måte å gjøre det.

Svarte 02/10/2012 kl. 01:10
kilden bruker

stemmer
0

Hvis du bruker Microsoft ASP.NET Web optimalisering Work (aka Bunting og forminskning), og prøv å bruke Bundle Transformator med installert modulen BundleTransformer.TypeScript . I tillegg til kompilering av typescript-kode til JS, kan du også produsere forminskning av den genererte JS-kode ved å bruke andre moduler av Bundle Transformer: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs og BundleTransformer.Packer .

Svarte 19/10/2012 kl. 16:43
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more