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

J’adore l’idée de la dactylographie, 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’append des fichiers *.ts qui comstacknt dans des fichiers *.js .

Edit: En fait, dois-je reproduire la façon dont l’exemple .jsproj inclut et gère les fichiers .ts ? Ou cela ne fonctionnera-t-il que pour les projets HTML / JS Win8?

Avertissement: Cette réponse est maintenant assez datée, car Typescript et MVC ont beaucoup changé depuis cette réponse. Je vais essayer une mise à jour plus tard. – Richcoder

Merci à Sohnee pour la réponse.

Vous pouvez append des fichiers TypeScript à un projet existant en utilisant la boîte de dialog Ajouter> Nouvel élément. exempleImage Veuillez noter que l’élément ‘Typescript File’ ne réside pas sous le groupe Web mais sous son parent dans ce cas, Visual C #.

Cela devrait append un fichier TypeScript et Visual Studio fera le rest.

Ensuite, vous devez append ces lignes au fichier de projet:

           

Cela a parfaitement fonctionné pour moi, mais veuillez commenter si vous rencontrez des problèmes.

C’est correct tout ce dont vous avez besoin est la cible de génération ms pour générer les fichiers .ts dans des fichiers .js. L’exemple Win8 montre une cible beforeBuild à appeler tsc sur tous les fichiers appartenant à itemGroup TypeScriptComstack, définie comme $ (ProjectDir) ***. Ts (ou tous les fichiers .ts de votre projet).

La réplication de ce modèle devrait fonctionner dans tout projet msbuild, et pas seulement dans les projets Win8.

Voici un exemple de ce dont je parle: Ajoutez ceci à n’importe quel projet msbuild, et vous devriez comstackr tout fichier .ts dans le fichier equivialnt .js au démarrage de votre construction.

        

J’ai rassemblé un paquet nuget qui ajoute un fichier de cibles msbuild à votre projet. Il exécutera le compilateur tsc et nettoiera sa sortie afin que vous puissiez double-cliquer sur les erreurs dans Visual Studio et accéder au fichier / ligne / colonne.

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

Vous devez définir l’action de compilation dans la fenêtre de propriétés sur ‘TypeScriptComstack’ pour tout ce que vous voulez que tsc comstack. Après quelques jours de bricolage avec TypeScript, j’ai constaté que les fichiers .ts effectuant le référencement doivent être définis sur TypeScriptComstack, mais que les fichiers référencés ne doivent pas être, sauf ymmv. En outre, vous devrez peut-être afficher tous les fichiers et append le fichier .js original. Si vous souhaitez regrouper les fichiers .ts / .js / .d.ts associés, consultez l’extension VsCommands. Workflow est également très bien avec NetDemon / extensions similaires.

Si vous utilisez Bundling et Minification , je viens de publier une implémentation de IBundleTransform qui comstack TypeScript en Javascript. C’est sur GitHub et NuGet (Install-Package TypeScriptBundleTransform). Si vous n’utilisez pas encore Bundling and Minification, cela vaut le coup d’oeil!

mettre à jour:

Installez simplement le plug-in Web Essentials 2012 , vous aurez une compilation automatique lors de l’enregistrement – pour les deux .js et .min.js et une vue fractionnée nette pour voir la sortie JavaScript à côté de votre code TypeScript.


C’est une méthode grossière que j’utilise:

Faites un clic droit sur votre projet> Propriétés> Construire des événements

La boîte PreBuild colle ceci (génère récursivement tous les fichiers .ts dans le projet):

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

Pour créer un fichier d’entrée spécifique:

 tsc $(ProjectDir)MyScripts/myfile.ts 

Je suis sûr qu’il y a une meilleure façon de le faire.

Si vous utilisez le framework d’optimisation Web Microsoft ASP.NET (regroupement et réduction), essayez d’utiliser le bundle Transformer avec le module installé BundleTransformer.TypeScript . Outre la compilation du code TypeScript dans JS, vous pouvez également produire une minification du code JS généré à l’aide d’autres modules du bundle Transformer: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs et BundleTransformer.Packer .