我正在使用YUI压缩器来缩小我的Javascript和CSS文件作为CI过程的一部分,这样我们就可以使用未缩小的文件进行开发并在部署时自动缩小它们。我使用MSBuild作为我的构建引擎。现在我面临的问题是: YUI会对可能使用保留关键字的javascript文件抛出错误。有一种方法可以配置YUI忽略这些关键字而不会抛出错误。目前无法更改代码。此外,我发现JSMin和Packer等工具忽略了这些错误,但我无法弄清楚如何将其与MSbuild集成。下面是我在.proj文件中使用的代码。
<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(MSBuildThisFileDirectory)..\Lib\YUICompressor.NET.MSBuild.2.7.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<UsingTask TaskName="JavaScriptCompressorTask" AssemblyFile="$(MSBuildThisFileDirectory)..\Lib\YUICompressor.NET.MSBuild.2.7.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<Target Name="MinifyFiles">
<ItemGroup>
<JavaScriptFiles Include="SomePath/*.js"/>
<CssFiles Include="SomePath\*.css"/>
</ItemGroup>
<JavaScriptCompressorTask SourceFiles="@(JavaScriptFiles)" OutputFile="OutputPath\%(JavaScriptFiles.RecursiveDir)\%(JavaScriptFiles.Filename).js" DeleteSourceFiles="false" CompressionType="Standard" LoggingType="Info"/>
<CssCompressorTask SourceFiles="@(CssFiles)" OutputFile="OutputPath\%(CssFiles.RecursiveDir)\%(CssFiles.Filename)" DeleteSourceFiles="false" CompressionType="Standard" />
</Target>