2012-10-03 47 views

Respuesta

9

En su archivo de proyecto deberá cambiar el destino MSBuild que está compilando archivos TypeScript. Si está utilizando la plantilla predeterminada para "Aplicación HTML construida con TypeScript", descargue su proyecto, edite el archivo del proyecto, encontrará un objetivo llamado "BeforeBuild" que llama al compilador a "$ (PROGRAMFILES) \ Microsoft SDKs \ TypeScript \ 0.8.0.0 \ tsc ", agregue --module amd a él; guarda y recarga tu proyecto la próxima vez que compile debería ver el argumento del comando pasado correctamente al compilador.

+2

Parece que se han añadido una opción para configurar esto, ya sea en el TS 0.8.1 o como parte de Web Essentials. Abra Herramientas-> Opciones y busque en Web Essentials-> TypeScript. –

+0

¡los documentos necesitan mejorar a lo grande! – Nikos

+8

@MortenMertner, y ahora lo han eliminado nuevamente. No quisiera hacer esto demasiado fácil ahora, ¿verdad? –

8

En la última actualización de Visual Studio 2013 + WebEssentials, las opciones ahora (finalmente) se mueven correctamente en el Panel de Opciones del proyecto (haga clic derecho en el proyecto -> Opciones -> panel Construcción de TypeScript).

+1

Sí, la actualización 3 de VS2013 ahora tiene una pestaña de compilación de TypeScript en las propiedades del proyecto, pero al marcar "Combinar el resultado de JavaScript en el archivo" no cambia en absoluto la línea de comando de tsc. – dthorpe

5

becouse este problema sigue siendo real, incluso para TS 1.0 y WebEssentials para VS 2013 Actualización 3, marque esta solución aquí: http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html o poco:

1) Abrir el archivo del proyecto.

2) encontrar estas líneas:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> 

3) insertar este líneas antes:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptModuleKind>amd</TypeScriptModuleKind> 
    </PropertyGroup> 
+1

¡Bonito truco! Si tiene la intención de utilizar 'amd' para' Debug' y 'Release', no necesita especificar una condición y no necesita dos grupos de propiedades. Tendrás un elemento llamado 'TypeScriptToolsVersion' y luego podrás agregar el' TypeScriptModuleKind', funciona bien. Esto es realmente bueno ya que ahora forma parte de la configuración de su proyecto. No es necesario cambiar el entorno global en el equipo host (lo que modificaría los archivos de destino). –

Cuestiones relacionadas