使用ngx_pagespeed或mod_pagespeed而不是使用命令行工具缩小/优化JavaScript和CSS

ngx_pagespeed,mod_pagespeed和其他在服务器级优化javascript / css的模块可以代替uglifyjs或yui-compressor等命令行工具吗?

是。 PageSpeed包含了与uglifyjs和yui-compressor非常相似的rewrite_javascript过滤器。 这是安装模块时默认启用的过滤器之一。

是的他们可以。 但是,您无法控制将要聚合的内容, *_pagespeed会根据每页策略进行聚合和缩小。 这意味着如果你有两个页面共享一个基本文件(例如base.css ),并且每个页面都有它自己的静态文件(例如page1.csspage2.css*_pagespeed将会聚合和缩小两个不同的页面为您缓存的文件。 这意味着,当用户从第1页移动到第2页时,由于静态文件已更改,您的用户将拥有主缓存。

如果你想甚至需要完全控制聚合和缩小,答案是否定的,它不能被用作替代。 Google的pagespeed模块主要用于托管公司,用户缺乏优化自己的资源的能力。 这些公司可以大大减少网络流量,提高托管产品的用户体验。 对于一个专业开发的Web项目,你一定要自己实现这一点,并完全控制。

如果组合/缩小是唯一的目标,那么最好在开发服务器上运行mod_pagespeed,保存结果并进行部署。 Mod_pagespeed做了很多,它是它的部分总和,它是增值,而不是单独的组件。

我们目前正在使用谷歌pagespeed为Nginx,它确实自动缩小js。 但不是很好 – 与UglifyJs 3相比,有20%的超大尺寸。

用pagespeed缩小的文件是248Kb。 如果我们通过Uglify 3运行,它会得到196 Kb …