1

有没有办法设置“BeforeBuild”步骤,将每个 TypeScript 文件编译为特定目录中自己的 Javascript 文件?例如,我希望将所有 TypeScript 文件编译为解决方案中“\tsbuild”目录中的单个 Javascript 文件。

现在,编译器正在将所有 TypeScript 文件合并到指定目录中的一个 Javascript 文件中——如下所示:

  <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; --out @(TypeScriptCompile ->'&quot;$(ProjectDir)tsbuild\buildall.js&quot; &quot;%(fullpath)&quot; ', ' ')" />
  </Target>

然后,一旦它们在一个目录中,目标是配置 Bundle Configuration 以在发布期间拾取并缩小它们。另一个目的是帮助在开发过程中进行故障排除。

4

2 回答 2

3

一旦 0.8.2.0 发布(很快!),您将能够将目录传递给 --out 以获得所需的行为。目前,还没有一种特别优雅的方法可以做到这一点。

于 2013-01-18T19:08:31.887 回答
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\"

我希望对某人有所帮助.. =)

于 2013-01-31T01:48:47.487 回答