Cum pot adăuga dactilografiat la un proiect Asp.Net MVC existent?

voturi
41

Îmi place ideea din spatele dactilografiat, dar nu pot par să dau seama cum să - l includă într - un proiect ASP.Net MVC. Am instalat deja extensia Visual Studio, dar eu nu pot par să găsească un exemplu sau documentația cu privire la modul de a adăuga *.tsfișiere care compilate în *.jsfișiere.

Editare: De fapt, ar trebui să reproducă modul în care exemplul Win8 .jsprojinclude și se ocupă de .tsfișiere? Sau că va funcționa doar pentru proiecte HTML / JS Win8?

Întrebat 01/10/2012 la 21:22
sursa de către utilizator
În alte limbi...                            


6 răspunsuri

voturi
24

Avertisment: Acest răspuns este acum destul de datat, atât ca typescript și MVC sa schimbat semnificativ de acest răspuns. Voi încerca o actualizare mai târziu. - Richcoder

Datorită Sohnee pentru răspunsul.

Puteți adăuga fișiere typescript la un proiect existent folosind Add> caseta de dialog New Item. exampleImage Vă rugăm să rețineți că elementul „typescript fișier“ nu își are reședința în cadrul grupului de web , dar sub ea e - mamă , în acest caz , Visual C #.

Acest lucru ar trebui să adăugați un fișier typescript și Visual Studio va face restul.

Apoi, trebuie să adăugați aceste linii la fișierul de proiect:

 <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>

Ea a lucrat perfect pentru mine, dar vă rugăm să comentați dacă aveți vreo problemă.

Publicat 03/10/2012 la 00:38
sursa de către utilizator

voturi
19

Este corect. tot ce ai nevoie este de a construi ms-țintă pentru a construi fișierele Ts în fișiere Js. Exemplul Win8 prezintă o țintă beforeBuild pentru a apela TSC pentru toate fișierele care aparțin itemGroup TypeScriptCompile, care este definit ca $ (ProjectDir) ***. TS (sau toate Ts fișierele din proiectul dumneavoastră).

Replicarea acest model ar trebui să funcționeze în orice proiect MSBuild, si nu numai proiecte Win8.

Iată o mostră din ceea ce vorbesc despre: Adauga la orice proiect MSBuild, și ar trebui să fie compilarea fișier în dosarul equivialnt .js orice atunci când construcția, TS începe ..

<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>
Publicat 01/10/2012 la 23:14
sursa de către utilizator

voturi
7

Am aruncat împreună un pachet nuget care adaugă un fișier MSBuild obiective pentru proiectul dumneavoastră. Acesta va rula compilator TSC și curăța de ieșire, astfel încât să puteți să faceți dublu clic pe erori în Visual Studio și sări la fișierul / linie / coloană.

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

Trebuie să setați acțiunea Construiți în fereastra de proprietăți pentru a „TypeScriptCompile“ pentru tot ce doriți să compilați TSC. De la câteva zile de la tinkering cu typescript, am constatat că dosarele Ts care fac menționarea ar trebui să fie setat la TypeScriptCompile, dar fișierele care sunt doar se face referință nu ar trebui, dar YMMV. De asemenea, poate fi necesar pentru a afișa toate fișierele și adăugați fișierul .js original. Dacă doriți să grupați Ts / js / .d.ts fișierele împreună, să ia o privire la extensia VsCommands. Fluxul de lucru este, de asemenea, destul de frumos, cu NetDemon / extensii similare.

Publicat 04/10/2012 la 01:55
sursa de către utilizator

voturi
4

Dacă utilizați Împachetarea și Reducere a dimensiunilor , tocmai am lansat o implementare a IBundleTransform care compilează la Javascript masina de scris. Este pe GitHub și NuGet (Install-Package TypeScriptBundleTransform). Dacă încă nu utilizați Împachetarea și Reducere a dimensiunilor, este în valoare de o privire!

Publicat 07/10/2012 la 23:51
sursa de către utilizator

voturi
3

Actualizați:

Trebuie doar să instalați Essentials Web 2012 plugin, va avea compilarea automată a salva - pentru ambele .js și .min.js și o parare divergenta elegant pentru a vedea de ieșire JavaScript lângă codul dactilografiate.


Aceasta este o metodă brută am fost folosind:

Faceți clic dreapta Proiectul dvs.> Properties> Build Evenimente

cutie PreBuild paste această (construiește recursiv toate fișierele Ts în proiect):

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

Pentru construirea de fișiere de intrare specifice:

tsc $(ProjectDir)MyScripts/myfile.ts

Sunt sigur că există o modalitate mai bună de a face asta.

Publicat 02/10/2012 la 02:10
sursa de către utilizator

voturi
0

Dacă utilizați ASP.NET cadru de optimizare web Microsoft (aka Împachetarea și Reducere a dimensiunilor), apoi încercați să utilizați Bundle Transformer cu modulul instalat BundleTransformer.TypeScript . În plus față de compilarea dactilografiate-cod JS, puteți produce , de asemenea , minification de JS-codul generat prin utilizarea altor module ale mănunchiului Transformer: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs și BundleTransformer.Packer .

Publicat 19/10/2012 la 17:43
sursa de către utilizator

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