¿Cómo agrego texto mecanografiado a un proyecto Asp.Net MVC existente?

votos
41

Me encanta la idea detrás de mecanografiado, pero parece que no puede encontrar la manera de incluirlo en un proyecto de ASP.Net MVC. Ya he instalado la extensión de Visual Studio, pero me parece que no puede encontrar un ejemplo o documentación acerca de cómo agregar *.tsarchivos de los que se compilan en *.jsarchivos.

Editar: En realidad, debería replicar la forma en que el ejemplo Win8 .jsprojincluye y se ocupa de .tslos archivos? O que sólo se trabajar para proyectos de HTML / JS Win8?

Publicado el 01/10/2012 a las 21:22
fuente por usuario
En otros idiomas...                            


6 respuestas

votos
24

Advertencia: Esta respuesta está bastante anticuado, ya que ambos imprenta y MVC ha cambiado significativamente desde esta respuesta. Voy a intentar una actualización posterior. - Richcoder

Gracias a Sohnee por la respuesta.

Puede añadir archivos de transcripción de un proyecto existente mediante la opción Agregar> Nuevo elemento de diálogo. exampleImage Tenga en cuenta que el elemento 'Letra de imprenta Archivo' no reside en el grupo Web pero bajo su padre en este caso, Visual C #.

Esto debería añadir un fichero de transcripción y Visual Studio hará el resto.

Luego hay que añadir estas líneas al archivo del proyecto:

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

Funcionó perfectamente para mí, pero por favor comentar si llegas a tener ningún problema.

Respondida el 03/10/2012 a las 00:38
fuente por usuario

votos
19

Eso es correcto. todo lo que necesita es el ms construir objetivo de construir los archivos .ts en .js. El ejemplo muestra un destino Win8 BeforeBuild llamar TSC en todos los archivos que pertenecen a ItemGroup TypeScriptCompile, que se define como $ (ProjectDir) ***. Ts (o todos los archivos .ts en su proyecto).

Replicar este patrón debe trabajar en cualquier proyecto msbuild, y no sólo proyectos Win8.

Este es un ejemplo de lo que estoy hablando: Añadir a cualquier proyecto msbuild, y usted debe estar compilando cualquier archivo ts en el archivo .js equivialnt cuando su construcción se inicia ..

<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>
Respondida el 01/10/2012 a las 23:14
fuente por usuario

votos
7

Lancé un paquete Nuget que añade un archivo objetivos msbuild a su proyecto. Se ejecutará el compilador TSC y limpiar su salida de manera que puede hacer doble clic sobre los errores en Visual Studio y saltar al archivo / línea / columna.

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

Es necesario establecer la Acción de generación en la ventana de propiedades de 'TypeScriptCompile' para cualquier cosa que usted quiere TSC para compilar. De los pocos días de retoques con mecanografiado, he encontrado que los archivos .ts que están haciendo la referencia deben fijarse a TypeScriptCompile, pero los archivos que sólo se están referenciadas no debería, pero tu caso es distinto. Además, es posible que deba mostrar todos los archivos y añadir el archivo .js originales. Si desea relacionados con el grupo .ts / js / .d.ts archivos juntos, echar un vistazo a la extensión VsCommands. Flujo de trabajo también es bastante agradable con NetDemon / extensiones similares.

Respondida el 04/10/2012 a las 01:55
fuente por usuario

votos
4

Si está utilizando la paquetización y Minificación , que acaban de publicar una implementación de IBundleTransform que recopila de transcripción de Javascript. Es en GitHub y NuGet (Install-Package TypeScriptBundleTransform). Si todavía no está utilizando la paquetización y Minificación, vale la pena un vistazo!

Respondida el 07/10/2012 a las 23:51
fuente por usuario

votos
3

actualizar:

Sólo tiene que instalar Web Essentials 2012 plug-in, tendrá compilación automática de guardar - para ambos Js y .min.js y una vista dividida ordenado para ver la salida de JavaScript al lado de su código de mecanografiado.


Este es un método crudo He estado usando:

Haga clic derecho en el proyecto> Propiedades> Eventos de generación

PreBuild pega este cuadro (de forma recursiva construye todos los archivos .ts en proyecto):

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

Para la construcción de archivos de entrada específica:

tsc $(ProjectDir)MyScripts/myfile.ts

Estoy seguro de que hay una mejor manera de hacerlo.

Respondida el 02/10/2012 a las 02:10
fuente por usuario

votos
0

Si está utilizando el ASP.NET Web marco de optimización Microsoft (también conocido como Agrupación y Minificación), a continuación, tratar de utilizar el paquete transformador con el módulo instalado BundleTransformer.TypeScript . Además de la recopilación de mecanografiado de código de JS, también se puede producir minimización de la JS-código generado por el uso de otros módulos del paquete del transformador: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs y BundleTransformer.Packer .

Respondida el 19/10/2012 a las 17:43
fuente por usuario

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