当我尝试在 Visual Studio 2012 中构建我的解决方案时,不会生成 javascript 文件。它只发生在特定文件上。
5 回答
我的问题是文件的构建操作设置不正确。
转到文件的属性并确保将其设置为 TypeScriptCompile。
我发现对于一个新项目,我的 .csproj 文件缺少一些重要的行 - 不知道为什么,但很容易修复,我在我的 TypeScript 博客中谈到了它:
...尽管 .ts 文件的“构建操作”被正确设置为“TypeScriptCompile”。为了解决这个问题,我不得不
右键单击解决方案资源管理器中的项目并选择卸载项目右键单击项目并选择编辑在其相关部分中从下面的代码中添加粗体行
<PropertyGroup Condition=”‘$(Configuration)’ == ‘Debug'”>
<TypeScriptTarget>ES3</TypeScriptTarget>
<TypeScriptRemoveComments>false</TypeScriptRemoveComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition=”‘$(Configuration)’ == ‘Release'”>
<TypeScriptTarget>ES3</TypeScriptTarget>
<TypeScriptRemoveComments>true</TypeScriptRemoveComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<Import Project=“$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets” />
导入行应该在其他导入元素出现的项目文件的末尾。进行此更改后,我的 .ts 文件正确编译。在我看来,这个错误在 TypeScript 的后续版本中得到了解决,因为它不是 Visual Studio 2013 和 TS 1.4 的问题。
右键单击解决方案资源管理器中的项目并重新加载项目。
安装 Web Essentials http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6
它有一个在构建时编译的设置:
安装 TypeScript for Visual Studio插件 ,您将能够在保存 TS 文件后立即看到 JS 代码。您也可以通过这种方式调试 JS。
当前用于 VS2013 的 Typescript 插件仅在保存时编译,而不是在构建时编译。如果在外部编辑某些打字稿文件或者必须从头开始重建项目,这可能会很痛苦。
我在 csproj 的末尾添加了以下<Target Name="AfterBuild">
内容。
<Exec Command="tsc.exe -target ES5 --sourcemap _core.ts"
WorkingDirectory="$(MSBuildProjectDirectory)\js" />
wherejs
是打字稿文件所在的目录,_core.ts 是在其标题中引用所有其他打字稿的主要打字稿。
现在,即使同事获取项目,它也会自动重建所有 javascript 文件。