ngx_pagespeed、mod_pagespeed 和其他在服务器级别优化 javascript/css 的模块可以替代 uglifyjs 或 yui-compressor 等命令行工具吗?
4 回答
Yes. PageSpeed includes the rewrite_javascript filter which does very similar minification to uglifyjs and yui-compressor. It's one of the filters that is enabled by default when you install the module.
是的他们可以。但是您无法控制将聚合的内容,并且*_pagespeed
将根据每页策略进行聚合和缩小。这意味着如果您有两个共享一个基本文件的页面(例如base.css
),并且每个页面也有它自己的静态文件(例如page1.css
和page2.css
)*_pagespeed
,那么将为您聚合和缩小两个不同的缓存文件。这意味着当您的用户从第 1 页转到第 2 页时,他们将拥有主要缓存,因为静态文件已更改。
如果您想要甚至需要完全控制聚合和缩小,答案是否定的,它不能用作替代品。Google 的 pagespeed 模块主要用于托管公司,这些公司的用户缺乏优化自己资源的能力。这些公司可以大大减少网络流量并改善其托管产品的用户体验。对于专业开发的 Web 项目,您肯定希望自己实现并拥有完全的控制权。
如果合并 /minifying 是你唯一的目标,你最好在开发服务器上运行 mod_pagespeed,保存结果并部署它。Mod_pagespeed 做了更多的工作,它的附加值是其部分的总和,而不是单独的组件。
我们目前正在为 nginx 使用 google pagespeed,它确实会自动缩小 js。但不是很好 - 与 UglifyJs 3 相比,有 20% 的超大尺寸。
使用 pagespeed 缩小的文件为 248Kb。如果我们通过 Uglify 3 运行它,它会得到 196 Kb...