msbuild - 谷歌关闭和MSBUILD

标签 msbuild

希望使用 msbuild 实现 google 关闭。 我找到了一些解决方案,但很难让它发挥作用。 关于如何在构建过程中读取多个 js 文件并创建 .min 版本有什么建议吗?

谢谢

编辑:根据下面的答案,我能够进行一些更改,以完全实现建议的内容,但以下是我所写的简单形式:

  <ItemGroup>
    <JSMin Include="$(OutputPath)Scripts\*.js"/>
  </ItemGroup>
  <Target Name="AfterBuild" Inputs="@(JSMin)" Outputs="@(JSMin ->'%(Directory)%(Filename).min%(Extension)')">
    <Exec Command="java -jar C:\temp\compiler.jar --js %(JSMin.Identity) --js_output_file C:\temp\%(JSMin.Filename).min.js"/>
  </Target>

输出路径稍后将更改为动态路径。

非常感谢

最佳答案

我还没有研究过 Google Closure,但您可以通过 <Exec> task 运行任何命令:

<Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="build">
        <Exec Command="echo Hello world"/>
    </Target>
</Project>

编辑:要对一组文件运行命令:

<Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <JSMin Include="jquery.js"/>
    <JSMin Include="somethingelse.js"/>
  </ItemGroup>

  <Target Name="build" Inputs="@(JSMin)" Outputs="@(JSMin->'%(Directory)%(Filename).min%(Extension)')">
    <Exec Command="java -jar C:\temp\compiler.jar --js %(JSMin.Identity) --js_output_file %(JSMin.Directory)%(JSMin.Filename).min%(JSMin.Extension)"/>
  </Target>
</Project>

关于msbuild - 谷歌关闭和MSBUILD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344993/

相关文章:

visual-studio - 是否有提供存储库根目录的 MSBuild 属性?

.net - 我如何在TFS中自动化分支机构/新团队的建立过程

visual-studio-2013 - Visual Studio 在哪里保留它自己的 nuget.exe 副本?

TFS 联机构建失败 - NuGet 包还原不工作

visual-studio-2010 - TeamCity 不编译 Visual Studio MS 测试项目

c# - 未构建 csproj 时抑制 AfterBuild 目标

MSBuild 目标 BeforeBuild 未执行

asp.net - 如何转换类似web.config的log4net配置?

git - 从 MSBuild 获取 Git Long Hash

visual-studio - 如何使用 msbuild 获取项目文件的属性值