Jak mohu přidat strojopis do stávajícího projektu Asp.Net MVC?

hlasů
41

Miluji myšlenku strojopisu, ale nedokážu přijít na to, jak ji zahrnout do projektu ASP.Net MVC. Už jsem nainstaloval Visual Studio rozšíření, ale nemohu najít příklad nebo dokumentaci o tom, jak přidat *.tssoubory, které kompilace do *.jssouborů.

Edit: Vlastně bych zopakovat tak, že příklad Win8 .jsprojzahrnuje a zpracovává .tssoubory? Nebo se, že pracovat pouze na projekty, HTML / JS Win8?

Položena 01/10/2012 v 21:22
zdroj uživatelem
V jiných jazycích...                            


6 odpovědí

hlasů
24

Varování: Tato odpověď je nyní poměrně starý, neboť obě Typescript a MVC se výrazně změnila od té doby tuto odpověď. Pokusím aktualizaci později. - Richcoder

Díky Sohnee za odpověď.

Můžete přidat strojopisem soubory do existujícího projektu pomocí add> dialogové okno nové položky. exampleImage Vezměte prosím na vědomí, že položka ‚Typescript File‘ nespočívá v rámci webové skupiny, ale za to je rodič v tomto případě Visual C #.

To by mělo přidat soubor strojopisu a Visual Studio se postará o zbytek.

Pak budete muset přidat následující řádky do souboru projektu:

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

Fungovalo to perfektně pro mě, ale komentovat, prosím, pokud se dostanete do nějakých problémů.

Odpovězeno 03/10/2012 v 00:38
zdroj uživatelem

hlasů
19

To je správně. vše, co potřebujete, je, že ms stavět cíl vytvořit soubory Ts do JS souborů. Tento příklad ukazuje, Win8 cíl beforeBuild požadovat TSC pro všechny soubory, které patří do itemGroup TypeScriptCompile, který je definován jako $ (ProjectDir) ***. Ts (nebo všechny soubory Ts v projektu).

Kopírující tento model by měl fungovat v každém MSBuild projektu, a to nejen projekty Win8.

Zde je ukázka toho, co mluvím: Přidat na libovolný MSBuild projektu, a vy byste měli být kompilace souboru jakékoliv Ts do equivialnt js souboru při spuštění sestavení ..

<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>
Odpovězeno 01/10/2012 v 23:14
zdroj uživatelem

hlasů
7

I hodil dohromady balíček nuget, která přidává soubor MSBuild terčů do projektu. To bude probíhat TSC kompilátor a uklidit svůj výstup, takže můžete dvojitým kliknutím na chyby ve Visual Studiu a skok na řádek / sloupec / souboru.

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

Je potřeba nastavit sestavení akce v okně Vlastnosti na ‚TypeScriptCompile‘ pro cokoliv, co chcete TSC sestavit. Z několika dnech šťourat se strojopisu, jsem zjistil, že Ts soubory, které dělají odkazování by měl být nastaven na TypeScriptCompile, ale soubory, které jsou pouze odkazován neměli, ale YMMV. Také může být nutné zobrazit všechny soubory a přidejte původní soubor JS. Chcete-li seskupit související Ts / JS / .d.ts soubory dohromady, se podívat na rozšíření VsCommands. Workflow je také docela pěkné s NetDemon / podobnými rozšířeními.

Odpovězeno 04/10/2012 v 01:55
zdroj uživatelem

hlasů
4

Pokud používáte svazování a Minification , právě jsem se vydala implementaci IBundleTransform který sestavuje strojopisem Javascript. To je na GitHub a nuget (Install-Package TypeScriptBundleTransform). Pokud jste se dosud s použitím svazování a Minification, je to stojí za to podívat!

Odpovězeno 07/10/2012 v 23:51
zdroj uživatelem

hlasů
3

Aktualizace:

Stačí nainstalovat Web Essentials 2012 plugin, budete mít automatickou kompilaci při uložení - pro oba JS a .min.js a úhledné rozděleném zobrazení vidět výstup JavaScriptu vedle strojopisem kódu.


To je hrubý způsob Byl jsem pomocí:

Pravým tlačítkem myši na projekt> Vlastnosti> Build Events

PreBuild box vložit tento (rekurzivně staví všechny Ts soubory v projektu):

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

Pro stavbu konkrétní vstupní soubor:

tsc $(ProjectDir)MyScripts/myfile.ts

Jsem si jist, že existuje lepší způsob, jak to udělat.

Odpovězeno 02/10/2012 v 02:10
zdroj uživatelem

hlasů
0

Pokud používáte Microsoft ASP.NET webové optimalizace Framework (aka svazování a Minification), pak zkuste použít Bundle Transformer s nainstalovaným modulem BundleTransformer.TypeScript . Kromě sestavování strojopisu kódu na JS, můžete také vytvářet Minification generovaného JS kódu pomocí jiných modulů Bundle Transformer: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs a BundleTransformer.Packer .

Odpovězeno 19/10/2012 v 17:43
zdroj uživatelem

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