43 votes

Comment ajouter du texte manuscrit à un projet Asp.Net MVC existant?

J'aime l'idée qui se cache derrière les caractères dactylographiés, mais je n'arrive pas à comprendre comment l'inclure dans un projet ASP.Net MVC. J'ai déjà installé l'extension Visual Studio, mais je n'arrive pas à trouver un exemple ou une documentation sur la façon d'ajouter des fichiers *.ts compilés en fichiers *.js .

Éditer: Devrais-je en fait répliquer de la même manière que l'exemple Win8 .jsproj inclut et gère les fichiers .ts ? Ou cela fonctionnera-t-il uniquement pour les projets HTML / JS Win8?

25voto

Richicoder Points 354

Avertissement: Cette réponse est maintenant assez daté, comme les deux Tapuscrit et MVC a changé de façon significative depuis cette réponse. Je vais essayer une mise à jour plus tard. - Richcoder

Grâce à Sohnee pour la réponse.

Vous pouvez ajouter un fichier d'enregistrement des fichiers à un projet existant à l'aide de l'Ajouter > Nouvel Élément de dialogue. exampleImage Veuillez noter que le "Tapuscrit Fichier' élément n'a pas de résidence dans le cadre du groupe Web mais sous celle du parent dans ce cas, Visual C#.

Cela devrait ajouter un fichier d'enregistrement de fichier et Visual Studio fera le reste.

Ensuite, vous devez ajouter ces lignes dans le fichier de projet:

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

Il a parfaitement fonctionné pour moi, mais s'il vous plaît commentaire si vous rencontrez des problèmes.

19voto

mohamed hegazy Points 2294

Qui est correct. tous vous avez besoin est la mme cible de construction pour construire la .les fichiers ts en .js fichiers. Le Win8 exemple montre une beforeBuild cible d'appeler tsc sur tous les fichiers appartenant à itemGroup TypeScriptCompile, qui est définie comme $(ProjectDir)***.ts (ou tous les .ts les fichiers dans votre projet).

En reproduisant ce modèle devrait travailler dans n'importe quel projet msbuild, et pas seulement Win8 projets.

Voici un exemple de ce dont je parle: Ajouter à tout projet msbuild, et vous devriez être à la compilation de tout .ts fichier dans le equivialnt .fichier js lors de votre construction commence..

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

7voto

scottt732 Points 902

J'ai jeté un package nuget qui ajoute un msbuild cibles fichier à votre projet. Il sera exécuté le tsc compilateur et nettoyer sa sortie, de sorte que vous pouvez double-cliquer sur les erreurs dans Visual Studio et de sauter dans le fichier/ligne/colonne.

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

Vous devez définir l'Action de Construire dans la Fenêtre des propriétés 'TypeScriptCompile" pour tout ce que vous voulez tsc à compiler. A quelques jours de bricoler avec des caractères d'imprimerie, j'ai trouvé que le .ts les fichiers qui sont en train de faire le référencement doit être réglé à TypeScriptCompile, mais les fichiers qui n'y sont référencés ne devrait pas, mais ymmv. Aussi, vous pouvez avoir besoin d'Afficher Tous les Fichiers et les ajouter à l'original .fichier js. Si vous voulez de groupe .ts/.js/.d.les fichiers ts ensemble, prendre un coup d'oeil à la VsCommands extension. Flux de travail est aussi très gentil avec NetDemon/extensions similaires.

4voto

Wouter Devinck Points 53

Si vous utilisez Bundling and Minification , je viens de publier une implémentation de IBundleTransform qui compile TypeScript en Javascript. C'est sur GitHub et NuGet (InstallScript Package TypeScriptBundleTransform). Si vous n'utilisez pas encore le groupement et la minification, ça vaut le coup d'oeil!

3voto

enko Points 314

mise à jour:

Il suffit d'installer Web Essentials 2012 plugin, vous aurez la compilation automatique sur enregistrer - pour les deux .js et .min.js et une belle vue fractionnée de voir le JavaScript de la sortie prochaine de votre Tapuscrit code.


Ce n'est qu'une grossière méthode que j'ai utilisé:

Cliquez-droit sur votre Projet > Propriétés > Construire des Événements

Paquetage boîte de coller ce (de manière récursive s'appuie tout .les fichiers ts en projet):

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

Pour des capacités en entrée de fichier:

tsc $(ProjectDir)MyScripts/myfile.ts

Je suis sûr qu'il ya une meilleure façon de le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X