希望用msbuild实现谷歌关闭。 我找到了一些解决方案,但努力让它发挥作用。 关于如何在构建期间读取多个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>
稍后将输出路径更改为动态路径。
非常感谢答案 0 :(得分:6)
我没有看过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>