2012-10-02 10 views
20

He agregado file1.ts y puedo ver que hay un dependiente en él - es decir, file1.js.Mecanografiado en VS2012: (automáticamente) generando .js desde .ts

Noto que los cambios que realicé en file1.ts - file1.js no se vuelven a generar automáticamente.

La única solución que tengo en este momento es llamando al tsc.exe - como parte del evento de preconstrucción.

Mi pregunta es: ¿hay alguna solución mejor o quizás una configuración en algún lugar que podría haber perdido?

+3

Lo pregunto porque parece que en el patio de recreo (http://www.typescriptlang.org/Playground/) - ¡el archivo .js se genera sobre la marcha! Me siento un poco intimidado de que el patio de juegos sea mejor que VS2012 :( –

+0

A diferencia de los sitios del foro, no usamos "Gracias", o "Cualquier ayuda apreciada", o firmas en [así]. Consulte "[Debería 'Hola'] ',' gracias ', frases y saludos se eliminan de las publicaciones?] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts) –

Respuesta

23

Instalar los Fundamentos Web 2012 extensión en Visual Studio 2012.

Será volver a generar el archivo .js en cada parada del archivo Ts.

http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6

+0

Funciona perfectamente. –

+0

Pero, ¿qué pasa con el CommonJS requiere() cosas? No estoy obteniendo eso en mi código compilado y tengo que incluir todos los archivos yo mismo. –

+1

@ uosɐs para compilar sus módulos TS a módulos AMD, necesita llamar al compilador tsc desde un símbolo del sistema y pasar el parámetro de los módulos: tsc --modules amd [lista de nombres de archivos] – thomaux

0

En Visual Studio necesita invocar el proceso de compilación para que se generen sus archivos. El patio de recreo no usa el mismo sistema de compilación, y desencadena la compilación una vez que la fuente cambia, por lo que es por eso que está viendo la diferencia en el comportamiento.

+0

Construir/Reconstruir/Limpiar + Compilar: no regenere el archivo .js aquí ... – Zote

+0

tenga en cuenta esto - el patio de recreo probablemente use 'tsc.js' y como tal pueda generar sobre la marcha –

6

Hay que añadir un objetivo BeforeBuild a csproj de su aplicación ASP.NET:

<Target Name="BeforeBuild"> 
<Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot;  @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
</Target> 

consejo: editar el archivo csproj con la libreta.

+1

Si usted está utilizando Visual Studio Express, debe seguir este paso ya que Web Essentials no es compatible con las versiones Express. –

+2

[TypeScript for Visual Studio 2012] (http://www.microsoft.com/en-us/download/details.aspx?id = 34790) es compatible con Express e incluye un tipo de proyecto en C# llamado "Aplicación HTML con TypeScr" ipt "que incluye esto en el CSPROJ por defecto. – Bonnici

+1

Para Typescript 0.8.1 consulte esto: http://typescript.codeplex.com/discussions/403394 –

0

enchufe

Puede utilizar Install-Package TypeScript.Compile añadir un objetivo AfterBuild que compila todos los archivos de texto mecanografiado incluidos en su proyecto.

Cuestiones relacionadas