Comment puis-je ajouter tapuscrit à un projet existant Asp.Net MVC?

voix
41

J'aime l'idée derrière tapuscrit, mais ne peut pas sembler comprendre comment l' inclure dans un projet ASP.Net MVC. Je l' ai déjà installé l'extension Visual Studio, mais je ne peux pas sembler trouver un exemple ou de la documentation sur la façon d'ajouter des *.tsfichiers qui compilent dans les *.jsfichiers.

Edit: En fait, dois - je reproduire la façon que l'exemple Win8 .jsprojinclut et gère les .tsfichiers? Ou est- ce que seuls les projets HTML pour travailler / JS Win8?

Créé 01/10/2012 à 21:22
source utilisateur
Dans d'autres langues...                            


6 réponses

voix
24

Avertissement: Cette réponse est maintenant assez daté, à la fois Tapuscrit et MVC a considérablement changé depuis cette réponse. Je vais essayer une mise à jour plus tard. - Richcoder

Merci à Sohnee pour la réponse.

Vous pouvez ajouter des fichiers tapuscrit à un projet existant en utilisant la Ajouter> Nouvelle boîte de dialogue d'objet. exampleImage S'il vous plaît noter que l'élément « Fichier Tapuscrit » ne réside pas dans le groupe Web , mais sous son parent dans ce cas Visual C #.

Cela devrait ajouter un fichier dactylographiée 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.

Créé 03/10/2012 à 00:38
source utilisateur

voix
19

C'est exact. tout ce que vous avez besoin est la cible ms construire pour construire les fichiers .ts dans .js. L'exemple Win8 montre une cible BeforeBuild appeler tsc sur tous les fichiers appartenant à ItemGroup TypeScriptCompile, qui est défini comme $ (ProjectDir) ***. Ts (ou tous les fichiers .ts dans votre projet).

Répliquant ce modèle devrait fonctionner dans tout projet de msbuild, et non seulement des projets Win8.

Voici un échantillon de ce que je parle: Ajouter à tout projet msbuild, et vous devez compiler un fichier .ts dans le fichier du equivialnt lorsque 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>
Créé 01/10/2012 à 23:14
source utilisateur

voix
7

J'ai jeté ensemble un paquet NuGet qui ajoute un fichier d'objectifs de msbuild à votre projet. Il exécutera le compilateur et tsc nettoyer sa sortie de sorte que vous pouvez cliquer deux fois sur les erreurs dans Visual Studio et sauter dans le fichier / ligne / colonne.

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

Vous devez définir l'action de construction dans la fenêtre des propriétés pour « TypeScriptCompile » pour tout ce que vous voulez tsc compiler. De quelques jours de bricoler avec tapuscrit, j'ai trouvé que les fichiers .ts qui font le référencement devraient être mis à TypeScriptCompile, mais les fichiers qui ne sont pas en cours de publications doivent, mais YMMV. , Vous devrez peut-être afficher tous les fichiers et ajouter le fichier .js d'origine. Si vous souhaitez regrouper les fichiers associés .ts / js / .d.ts ensemble, jetez un oeil à l'extension VsCommands. Flux de travail est également très agréable avec NetDemon / extensions similaires.

Créé 04/10/2012 à 01:55
source utilisateur

voix
4

Si vous utilisez Bundling et Minification , je viens de sortir une mise en œuvre de IBundleTransform qui compile tapuscrit à Javascript. Il est sur GitHub et NuGet (Install-Package TypeScriptBundleTransform). Si vous n'êtes pas encore utilisé Bundling et Minification, il vaut le détour!

Créé 07/10/2012 à 23:51
source utilisateur

voix
3

mettre à jour:

Il suffit d' installer Web Essentials 2012 plug - in, vous aurez la compilation automatique lors de l' enregistrement - pour les deux .js et .min.js et une vue fendue nette pour voir la sortie JavaScript à côté de votre code tapuscrit.


C'est une méthode brute que j'utilise:

Faites un clic droit de votre projet> Propriétés> Créer des événements

boîte Prebuild coller ce (construit récursive tous les fichiers .ts dans le projet):

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

Pour la construction de fichier d'entrée spécifique:

tsc $(ProjectDir)MyScripts/myfile.ts

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

Créé 02/10/2012 à 02:10
source utilisateur

voix
0

Si vous utilisez le cadre d' optimisation Web Microsoft ASP.NET (alias Bundling et Minification), essayez d'utiliser le transformateur Bundle avec le module installé BundleTransformer.TypeScript . En plus de la compilation dactylographiées code à JS, vous pouvez également produire minification du code JS généré à l'aide d' autres modules du transformateur Bundle: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs et BundleTransformer.Packer .

Créé 19/10/2012 à 17:43
source utilisateur

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