强制 RequireJS 文本!重新加载

发布于 2025-01-06 00:10:49 字数 50 浏览 1 评论 0原文

使用文字!插件,有没有办法强制 RequireJS 重新加载文件而不是返回缓存的数据?

Using the text! plugin, is there a way of forcing RequireJS to reload a file rather than returning the cached data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

生活了然无味 2025-01-13 00:10:50

RequireJS 只会缓存每个请求的文件。页面重新加载将再次获取它。
如果您看到不同的内容,那是因为:

  • 您的服务器上有缓存。
  • 或者您的浏览器缓存了该请求。您当然可以在浏览器上禁用此功能。

如果您希望浏览器每次都获取干净的文件,那么您的服务器上应该为这些资源设置一个无缓存标头。

RequireJS will only cache the file per request. A page reload will fetch it again.
If you see something different it is because:

  • Either you have caching on your server.
  • or your browser caches the request. You can of course disable this on your browser.

If you want browsers to fetch a clean file every time, you should have a no-cache header for these resources on your server.

嘿哥们儿 2025-01-13 00:10:50

我认为您可以通过提供缓存清单来添加新的 html5 缓存功能: http:// /www.html5rocks.com/en/tutorials/appcache/beginner/

然后你可以使用 requirejs“domReady” 来获取正确的加载事件:
http://requirejs.org/docs/api.html#pageload

然后听正确的事件(取自第一个链接的代码):

window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
  // Browser downloaded a new app cache.
  if (confirm('A new version of this site is available. Load it?')) {
    window.location.reload();
  }
} else {
  // Manifest didn't changed. Nothing new to server.
}}, false);

此时,每当您更新 urlArgs 时,您都会获得新的 js 文件,并且通过清单缓存文件,您将获得新的 html 文件

I think that you could add the new html5 cache feature by providing a cache manifest: http://www.html5rocks.com/en/tutorials/appcache/beginner/

then you could use the requirejs "domReady" to get the proper load event:
http://requirejs.org/docs/api.html#pageload

and then listen to the proper event (code taken from the first link):

window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
  // Browser downloaded a new app cache.
  if (confirm('A new version of this site is available. Load it?')) {
    window.location.reload();
  }
} else {
  // Manifest didn't changed. Nothing new to server.
}}, false);

at this point whenever you update urlArgs you will get the new js files and with the manifest cache file you will get the new html files

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文