在我的项目中有一个公共(public)文件夹,里面有一个脚本:public/worker.js
,其中包含一段代码:
alert('foo');
我使用 Worker 调用此脚本:
new Worker('worker.js');
我启动 Meteor 并连接到我的应用程序。 foo
收到警报。
如果我将 public/worker.js
代码更改为其他内容:
alert('bar');
服务器刷新客户端,客户端刷新页面但不会获取新代码,而是使用旧代码(警报 foo
而不是新 Shiny 的 bar
)。清除缓存然后刷新可以解决问题。 CTRL+F5
无法修复此缓存问题,它似乎不适用于这种脚本调用(至少在我测试的 Firefox 版本上不起作用)。
到底为什么会发生这种情况?
我该如何预防?
最佳答案
您应该更改文件的响应 header 。也许这会让你继续前进:Explicit HTTP Response Headers for files in Meteor's public directory
关于javascript - 为什么客户端不会在公用文件夹中收到此脚本的新版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573129/