Hogyan adhatok géppel egy meglévő Asp.Net MVC projekt?

szavazat
41

Szeretem az ötlet mögött géppel, de nem úgy tűnik, hogy kitaláljuk, hogyan lehet bevonni azt egy ASP.Net MVC projekt. Már telepítve a Visual Studio kiterjesztése, de nem úgy tűnik, hogy példát találni, vagy dokumentációt, hogy hogyan adjunk *.tsfájlok összeállításához figyelembe *.jsfájlokat.

Edit: Igazából kéne megismételni az is, hogy a Win8 például .jsprojtartalmazza és kezeli .tsa fájlokat? Vagy, hogy csak akkor működik, HTML / JS Win8 projektek?

A kérdést 01/10/2012 21:22
a forrás felhasználó
Más nyelveken...                            


6 válasz

szavazat
24

Figyelmeztetés: Ez a válasz most meglehetősen elavult, mivel mindkét géppel és MVC óta jelentősen megváltozott a válasz. Megpróbálok egy frissítést később. - Richcoder

Hála Sohnee a választ.

Felveheti géppel fájlokat egy meglévő projekt a Hozzáadás> Új elem párbeszédablak. exampleImage Kérjük, vegye figyelembe, hogy a „géppel Fájl” elem nem lakik alatt Web-csoport, de alatta van a szülő ebben az esetben a Visual C #.

Ez kell hozzá egy géppel fájlt, és a Visual Studio elvégzi a többit.

Ezután meg kell adni ezeket a sorokat a projekt fájlt:

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

Ez tökéletesen működött nekem, de kérjük megjegyzést, ha befut minden kérdés.

Válaszolt 03/10/2012 00:38
a forrás felhasználó

szavazat
19

Az igaz. minden amire szüksége van a ms építeni cél, hogy létrejöjjön a .ts fájlokat Js fájlokat. A Win8 példa egy beforeBuild cél, hogy hívja a TSC minden fájlt tartozó itemGroup TypeScriptCompile, ami definíció szerint $ (ProjectDir) ***. Ts (vagy az összes .ts fájlokat a projekt).

Lemásolják ezt a mintát kell dolgozni bármilyen MSBuild projektben, és nem csak Win8 projekteket.

Itt van egy minta, amit én beszélek: Add, hogy ez bármilyen MSBuild projektet, ha kell összeállítása bármely .ts fájlt a equivialnt Js fájlt, amikor az építmény kezdődik ..

<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>
Válaszolt 01/10/2012 23:14
a forrás felhasználó

szavazat
7

Dobtam össze nuget csomagot, amely hozzáad egy MSBuild célokat fájlt a projekthez. Ez fog futni a TSC fordító és tisztítsák meg a kimenet, így kattintson duplán a hibákat Visual Studio és ugrik a fájl / sor / oszlop.

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

Be kell állítani a Build Action a tulajdonságok ablak „TypeScriptCompile” bármit, amit akar TSC fordítani. Egy néhány napos bütyköl géppel, azt találtuk, hogy a .ts fájlokat csinál a hivatkozó kell állítani TypeScriptCompile, de a fájlok, amelyek csak által hivatkozott nem kellene, de YMMV. Is, akkor lehet, hogy az összes fájl megtekintése, és adjunk hozzá az eredeti Js fájlt. Ha azt szeretnénk, hogy csoportosítani .ts / Js / .d.ts fájlokat együtt, megnézzük a VsCommands kiterjesztése. Workflow is elég szép a NetDemon / hasonló kiterjesztéseket.

Válaszolt 04/10/2012 01:55
a forrás felhasználó

szavazat
4

Ha ön használ Csomagban és Minification , én most megjelent egy megvalósítása IBundleTransform hogy lefordítja géppel a Javascript-et. Ez a GitHub és NuGet (Install-csomag TypeScriptBundleTransform). Ha még nem használja a Csomagban és Minification, érdemes egy pillantást!

Válaszolt 07/10/2012 23:51
a forrás felhasználó

szavazat
3

frissítés:

Csak telepítse Web Essentials 2012 bővítményt, akkor az automatikus összeállítása mentéskor - mind a Js és .min.js és egy ügyes osztott nézet, hogy a JavaScript kimenet mellett a géppel kódot.


Ez egy nyers módszer Már használja:

Kattintson a jobb gombbal a Projekt> Ingatlan> Építsd események

Elõzetes fordítás box be ezt a (rekurzív épít minden .ts fájlokat projekt):

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

Az épület különleges belépési file:

tsc $(ProjectDir)MyScripts/myfile.ts

Biztos vagyok benne, hogy van egy jobb módja csinálja.

Válaszolt 02/10/2012 02:10
a forrás felhasználó

szavazat
0

Ha használja a Microsoft ASP.NET Web optimalizálás Framework (aka Csomagban és Minification), akkor próbálja ki a Bundle transzformátor a telepített modul BundleTransformer.TypeScript . Amellett, hogy a fordítás a géppel-kód JS, akkor is termelnek minification a generált JS-kód segítségével más modulok a Bundle Transzformátor: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs és BundleTransformer.Packer .

Válaszolt 19/10/2012 17:43
a forrás felhasználó

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