我必须提出压缩,版本(用于缓存目的)的解决方案,并可能组合我们的JS和CSS文件,到目前为止我已经看到了两种主要方法:
1)在构建时:作为MSBuild任务或类似.
2)在运行时动态:作为.js和.css文件的自定义HTTPHandler(我们是ASP.NET btw),这样的结果会在你的页面中结束:
<link rel="stylesheet" type="text/css" href="~/StyleSheetHandler.ashx?stylesheets=~stylesheets/master.css" />
任何人都可以提供每个人的专业和信息吗?就个人而言,我无法看到动态地做这一点并在每次请求时浪费CPU周期(我猜你只是第一次做工作然后缓存,但仍然)但我感觉我可能遗失了什么?
谢谢!
标记.
解决方法
我认为一个好的方法是针对不同的环境使用不同的策略:
>没有压缩开发(用于开发和调试)
>测试环境的运行时压缩(灵活,不是性能关键)
>用于分段和生产的构建时压缩(经过测试,性能至关重要)
我有一些使用YUI compressor用于Javascript和CSS的经验,并且已经学习(很难)测试缩小的JS和CSS确实非常重要.
创建静态缩小的JS和CSS文件作为生产构建的一部分具有以下优点:
>他们经过测试>静态文件,可以在没有ASP.NET开销的情况下提供>可以缓存浏览器>应该是webserver-gzipped