【发布时间】:2012-09-24 12:15:32
【问题描述】:
我如何告诉 TypeScript 编译器从 Visual Studio 中生成 amd 模块(--module amd)。
谢谢。
【问题讨论】:
标签: visual-studio-2012 typescript
我如何告诉 TypeScript 编译器从 Visual Studio 中生成 amd 模块(--module amd)。
谢谢。
【问题讨论】:
标签: visual-studio-2012 typescript
因为即使对于 TS 1.0 和 VS 2013 Update 3 的 WebEssentials 仍然存在此问题,请在此处查看此解决方案:http://icanmakethiswork.blogspot.com/2014/02/typescript-and-requirejs-keep-it-simple.html 或稍后:
1) 打开项目文件。
2) 找到这行:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
3)在前面插入这行:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptModuleKind>amd</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptModuleKind>amd</TypeScriptModuleKind>
</PropertyGroup>
【讨论】:
amd 用于Debug 和Release,则不需要指定条件,也不需要两个属性组。您将有一个名为TypeScriptToolsVersion 的元素,您可以在此之后直接添加TypeScriptModuleKind,它工作得很好。这真的很好,因为它现在是您项目配置的一部分。它不需要更改主机上的全局环境(修改目标文件会)。
在最新的 Visual Studio 2013 Update 3 + WebEssentials 上,选项现在(最终)正确地移动到了项目选项窗格中(右键单击项目 -> 选项 -> TypeScript 构建窗格)。
【讨论】:
在您的项目文件中,您需要更改构建 TypeScript 文件的 MSBuild 目标。如果您使用“使用 TypeScript 构建的 HTML 应用程序”的默认模板,请卸载您的项目,编辑项目文件,您会发现一个名为“BeforeBuild”的目标在“$(PROGRAMFILES)\Microsoft SDKs\TypeScript 处调用编译器” \0.8.0.0\tsc",添加 --module amd 到它;保存并重新加载您的项目。下次构建时,您应该会看到命令参数正确传递给编译器。
【讨论】: