我正在使用create-react-app构建来构建ReactJS应用,并部署到Amazon S3和CloudFront。部署很容易;创建新版本时,我可以将构建目录同步到S3,然后重新加载,一切正常。 index.html通过唯一的哈希键包含对最新版本的引用,因此我总是获得最新文件。
但是使用index.html
的旧版本的活动用户呢?他们的浏览器将引用不再存在的“块”。如何在不打扰这些用户的情况下更新到最新版本?
一个直截了当的解决方案可能是保留旧版本中的文件,但是这样用户将不会自动更新到新版本。而且旧文件的清理将很混乱。
在我的CloudFront设置中,当活动用户请求缺少块时,浏览器将针对404/403错误被定向到index.html
。也许升级已被自动管理,从而迫使重新加载index.html(并因此重新引用新文件)?