我已经在GCS上托管了一个React App,它运行正常。但是,偶尔在部署新代码后,我会在一些被webpack拆分的js文件中收到404错误。但是,当我检查存储桶时,可以验证该文件是否存在,但无法直接访问它。此问题通常会持续约一个小时,然后我的网站才能恢复正常。
我将所有文件设置为公开,这是我的部署脚本:
"env-cmd -f .env.staging.local react-scripts build && gsutil rsync -R -d build gs://mysite && gsutil setmeta -h \"Cache-Control:no-cache, max-age=0\" gs://mysite/index.html"
这非常令人困惑且难以调试,因为我可以看到该文件存在,但由于某种原因,index.html无法读取该文件。另外我还尝试清除边缘缓存,所以也许不是缓存问题吗?
答案 0 :(得分:1)
经过一些试验和研究,我将代码部署到Cloud Storage的方式似乎是一个缓存问题。我已经更新了部署代码,以避免js被“从磁盘缓存”。
react-scripts build && gsutil -h \"Cache-Control:no-cache, max-age=0\" rsync -R -d build gs://mysite