【问题标题】:Best way of dealing with cached js files when iterating rapidly快速迭代时处理缓存 js 文件的最佳方式
【发布时间】:2013-04-11 04:05:06
【问题描述】:

我的应用程序正在增长、更改并部署给我们的 alpha 用户,每天至少一次。这会导致一个问题,因为用户的浏览器缓存没有足够快地过期,无法让他们获得最新的脚本版本。

有什么好的方法可以解决这个问题?我知道我可以在脚本文件中添加一个 cachebuster 查询字符串参数(取决于我们的 mercurial 修订版),但这似乎是一种 hack,需要扩展 requirejs 才能实现。

我们可以在服务器上配置现代浏览器支持的某种缓存过期标头吗? (我们的 alpha 用户都使用 Chrome 或 Firefox)

【问题讨论】:

  • 很高兴知道@MattBall。我想知道是否有解决问题的 HTTP 原生方法。
  • 你使用的是什么网络服务器?
  • @Leopd 这是一个 Asp.Net Mvc 应用程序,所以 Iis
  • 如果您不想实现缓存破坏器,您可以从您的网络服务器设置过期标头,或者为 chrome / firefox 添加一个禁用缓存的插件/插件。在您的网络服务器上,您可以设置:Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0

标签: javascript http browser-cache http-caching


【解决方案1】:

我知道您正在运行 IIS,但如果您愿意将 Apache 设置为反向代理,您可以运行 Google 的 mod_pagespeed 插件。它会在退出时自动重写您的 HTML,添加缓存清除参数,并在所有 JS 内容上设置适当的长期缓存控制 HTTP 标头。真的很流畅。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2011-01-28
    • 1970-01-01
    • 2011-05-29
    • 2011-04-26
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多