使用新的HTML / JS文件更新了我的AWS S3存储桶后,浏览器继续加载旧文件

时间:2018-08-14 06:47:43

标签: reactjs caching amazon-s3

将新文件上传到我的S3存储桶后,浏览器继续加载旧文件。我在S3应用程序前面的Cloudfront中的所有文件上运行S3失效。

如果我的网站打开了浏览器,则需要刷新几次以查看更新的文件。我认为重命名Javascript文件会有所帮助,但是,由于浏览器缓存的原因,浏览器正在以某种方式加载旧文件。

如果我清除浏览器缓存或以隐身模式打开,我会立即看到更新。显然,我不能告诉用户每次进行更新时都要清除其缓存。有针对这个的解决方法吗?我经常在新前端依赖的同时对我的API进行更改。如何确定最新文件已加载?

详细信息: 我正在使用create-react-app将我的S3应用捆绑在一起。

3 个答案:

答案 0 :(得分:0)

<div> <h1>This is a title</h1> </div>标头设置为cache-control以禁用缓存

有关如何设置文件头的信息,请参考this answer

答案 1 :(得分:0)

我发现了问题。由于我的应用程序使用Service Workers,因此出现了问题。 Create-React-App自动启用此功能。如果您希望浏览器停止缓存React应用,请确保删除index.js中注册服务工作者的行。

答案 2 :(得分:0)

请参考此答案,可能会对您有所帮助。refer to this answer

将标题中的变量Cache-Control添加到0到S3中的所选文件

enter image description here