当我在Visual Studio 2012中尝试构建我的解决方案时,JavaScript文件没有生成。这只发生在特定的文件中。
当我在Visual Studio 2012中尝试构建我的解决方案时,JavaScript文件没有生成。这只发生在特定的文件中。
对我来说问题是文件的构建操作设置不正确。
进入文件属性,确保它被设置为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的问题。
在解决方案资源管理器中右键单击项目,重新加载项目。
目前VS2013的Typescript插件只在保存时编译,而不是在构建时编译。如果某些typescript文件在外部被编辑或者项目需要从头开始重建,这可能会很麻烦。
我在csproj的<Target Name="AfterBuild">
部分末尾添加了以下内容。
<Exec Command="tsc.exe -target ES5 --sourcemap _core.ts"
WorkingDirectory="$(MSBuildProjectDirectory)\js" />
其中js
是存放TypeScript文件的目录,而_core.ts是主要的TypeScript文件,在其头部引用了所有其他TypeScript文件。
现在,即使同事获取了该项目,它也会自动重建所有JavaScript文件。