有没有办法设置“BeforeBuild”步骤,将每个TypeScript文件编译为特定目录中自己的Javascript文件?例如,我希望所有TypeScript文件都能编译到解决方案中'\ tsbuild'目录中的单个Javascript文件。
现在,编译器正在将所有TypeScript文件合并到指定目录中的一个Javascript文件中 - 如下所示:
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" --out @(TypeScriptCompile ->'"$(ProjectDir)tsbuild\buildall.js" "%(fullpath)" ', ' ')" />
</Target>
然后,一旦它们位于一个目录中,目标就是配置Bundle Configuration以获取它们并在发布期间将它们缩小。另一个目的是帮助开发期间进行故障排除。
答案 0 :(得分:3)
一旦0.8.2.0发布(很快!),您就可以将目录传递给--out以获得所需的行为。目前,没有一种特别优雅的方法可以做到这一点。
答案 1 :(得分:2)
随着TypeScript 0.8.2的发布,我做了一些构建更改,现在让它按照我想要的方式工作。
有关编译和保存的详细信息,请查看:http://typescript.codeplex.com/wikipage?title=Compile-on-Save
首先我修改了我的* .csproj,添加:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>true</TypeScriptIncludeComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>false</TypeScriptIncludeComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
然后,我创建了一个帖子构建步骤,使用此帖子复制我的文件 https://stackoverflow.com/a/585188/1220302
将其添加到帖子构建
for /R "$(ProjectDir)modules\" %%f in (*.js, *.map) do copy %%f "$(ProjectDir)build\"
我希望有人帮助... =)