【问题标题】:Skipping traditional pages load/speed techniques when mod_pagespeed in use在使用 mod_pagespeed 时跳过传统的页面加载/速度技术
【发布时间】:2014-09-11 16:31:48
【问题描述】:

由于我们正在使用 mod_pagespeed (Apache),我正在尝试确定我们的前端团队和构建过程是否可以跳过某些“PageSpeed 最佳实践”。 mod_pagespeed 自动执行的可能被跳过的事情的一个例子是: 1. 合并和缩小 JS 和 CSS(例如可以使用 Browserify 之类的工具来完成) 2.压缩图片 3. JS和CSS的异步加载/注入(脚本加载器,atomify等) 4. 用于缓存清除的静态资产版本控制(grunt-usemin 等)

举个例子,现在我已经删除了静态资产版本控制,而是让我们的 global.js 和 global.css 文件没有版本控制并且到期时间很短。这是因为 mod_pagespeed 会快速对其进行版本化,并且无论如何都会过期。

【问题讨论】:

    标签: pagespeed browserify mod-pagespeed web-frontend


    【解决方案1】:

    我们为一家大型电信公司的主要门户网站实施了 mod_pagespeed。虽然 PageSpeed 是一个非常方便的优化工具,但它不是魔法棒并且有一些严格的限制。我们摒弃了大部分传统技术,但发现需要大量手动修复资源才能优化所有内容。

    1. 合并和缩小 JS 和 CSS?可以,但请注意以下限制:

    2. 压缩图像?可以,但请注意以下限制:
      • 动画 GIF 未压缩
      • 需要对您的 mod_pagespeed 配置进行大量调整,以使图像压缩在您的网站上发挥最佳作用
    3. JS 和 CSS 的异步加载/注入?有点:
      • 您仍然需要类似 require.js 的东西来条件加载 JavaScript。我们为此提供了服务器端解决方案
      • 你会发现很多 JavaScript 不能异步加载,你必须标记:<script pagespeed_no_defer="">...</script>
      • 没有异步/条件注入 CSS 的机制
      • 此外,图像的延迟加载效果非常好。
    4. 用于缓存清除的静态资产版本控制?是的。这是 mod_pagespeed 真正大放异彩的一个领域,我们无需进行任何手动修复即可使其正常工作。但是,请注意 mod_pagespeed 只有在您有将资源标记为可缓存的标头时才能使用此功能。

    此外,如果您正在考虑使用图像精灵,请注意它具有极高的限制性: Image spriting with mod_pagespeed

    【讨论】:

      猜你喜欢
      • 2011-10-29
      • 1970-01-01
      • 2017-12-24
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      相关资源
      最近更新 更多