基本上,我的最终目标是在构建我的Visual Studio解决方案时删除已存在的.min.js和CSS文件,同时Ajax Minifier(版本4.20)作为MSBuild任务之一缩小。 js和.css文件。
根据Ajax Minifier文档,我可以使用-clobber
选项来实现上述目标。但是,我无法弄清楚在Visual Studio MSBuild项目任务中我可以使用此选项的位置。我已经成功地使用了Ajax Minifier命令行工具中的-clobber
选项。
以下是我的项目(.csproj)文件中的配置代码......
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;Scripts\*.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" clobber="true" />
</Target>
然而,当我编译我的解决方案时,我遇到了以下错误 - 不确定原因?
“AjaxMin”任务不支持“clobber”参数。验证该任务上是否存在该参数,它是一个可设置的公共实例属性。
答案 0 :(得分:0)
从我从文档中可以看出,看起来clobber开关不可用。它不可用这一事实似乎表明删除过时文件将由任务处理。让任务处理文件管理对我来说非常有意义。话虽如此,你确定你需要clobber开关吗?
如果这样做,您可以使用exec任务调用AjaxMin的控制台版本:
<Exec Command="C:\PathToAjaxMin\AjaxMin.exe _options_here_" />
答案 1 :(得分:0)
C:\“Program Files(x86)”\ MicroSoft \“MicroSoft Ajax Minifier”\ AjaxMin.exe -css $(ProjectDir)css \ style1.css $(ProjectDir)css \ style2.css $(ProjectDir)css \ style3.css -o $(ProjectDir)css \ master.min.css -clobber:true
注意:确保命令在POSTBuild事件
中的一行中这就是我正在使用的。如果要合并脚本,请将 -css 更改为 -js 。
基于文件:http://ajaxmin.codeplex.com/wikipage?title=Command-Line%20Switches
默认情况下,-clobber设置为false。所以如果你想替换现有的输出文件,最后需要指定true。
答案 2 :(得分:0)
对于使用AjaxMin.DLL的构建任务,您不需要-clobber开关。只有AjaxMin.EXE才需要该开关。
答案 3 :(得分:0)
您只需要正确传递$MyPage = file_get_contents('http://www.example.com/status/page.php');
if ($MyPage == 'OK'){
echo 'Website up';
} else {
echo 'Website Error';
}
开关。
更改
-clobber
到
<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js"
CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css"
clobber="true" />