我正在使用MbCompression库,我想知道 - MbCompression是否缩小了ScriptResource.axd?是否有任何工具可以在运行时最小化ScriptResource.axd,而对web.config的更改最少?
答案 0 :(得分:3)
我不熟悉MbCompression,但请查看RequestReduce。这是我的一个OSS项目,我相信它完全符合你的要求:在运行时缩小/组合css和javascript。与其他框架不同,RequestReduce不需要代码更改,也不需要重新排列脚本和css以及非常小的配置。所有必要的配置是添加模块。以下是您在配置中真正需要的所有内容:
<system.web>
<httpModules>
<add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce"/>
</httpModules>
</system.web>
<system.webServer>
<modules>
<validation validateIntegratedModeConfiguration="false"/>
<add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce"/>
</modules>
</system.webServer>
就是这样,没有额外的代码。您可以访问许多选项来打开和关闭各种内容,并在多个服务器上配置缓存同步或在您的网址中包含CDN主机。但对于开箱即用的解决方案,上述内容应该是必要的。
它将查找任何脚本URL并将其缩小并将其与相邻脚本标记内容合并,只要满足以下条件:
我听说有人抱怨说webresource.axd或scriptresource.axd被发送到没有设置缓存的浏览器。这对您来说可能不是问题,但如果您发现这种情况并且缺乏缓存不是故意的,您可以将其添加到您的web.config中:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="180.00:00:00" cacheControlCustom="public" />
</staticContent>
此外,它还可以自动执行任何背景图像,优化PNG压缩,并在为缓存的css / javascript / sprite提供缓存标头时使用最佳做法。
此框架目前在Microsoft由MSDN和Technet画廊使用。
您可以通过Nuget(建议)安装,也可以从http://www.requestreduce.com下载。