Reputation: 1527
How do I tell the TypeScript compiler to generate amd modules (--module amd) from within Visual Studio.
Thanks.
Upvotes: 18
Views: 11884
Reputation: 2221
Becouse this problem is still actual even for TS 1.0 and WebEssentials for VS 2013 Update 3, check this solution here: http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html
Or shortly:
1) Open project file.
2) find this lines:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
3)Insert this lines before:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptModuleKind>amd</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptModuleKind>amd</TypeScriptModuleKind>
</PropertyGroup>
Upvotes: 5
Reputation: 81
On the latest Visual Studio 2013 Update 3 + WebEssentials the options are now (finally) properly moved in the Project Options Pane (Right click on the project -> Options -> TypeScript Build pane).
Upvotes: 8
Reputation: 9509
In your project file you will need to change the MSBuild target that is building TypeScript files. If you are using the default template for "HTML Application built with TypeScript", unload your project, edit the project file, you will find a target called "BeforeBuild" that is calling the compiler at "$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc", add --module amd to it; save and reload your project. next time you build you should see the command argument passed correctly to the compiler.
Upvotes: 9