我们有一个使用React创建的Web应用程序(前端),是通过Create React App创建的。该应用程序运行在Google Cloud Platform App Engine Standard上。我们的Web应用程序采用代码分割,每个页面在用户导航时加载。
它运行得非常好。问题在于例如用户A正在访问应用程序主页。我们部署了一个修复程序,更改了chunk文件名。然后用户A尝试访问另一页,然后出现错误“Loading chunk * failed”。获取文件的URL现在返回404,因为该文件已被一些新的chunk文件替换。
据我所见,在我的研究中这是一个常见的问题,但我没有找到适用于Google App Engine的解决方案。
这是一篇解释问题/解决方案的文章:https://mitchgavan.com/code-splitting-react-safely/ 我想使用解决方案1:“在部署后在您的服务器上保留旧文件”,但我不知道如何在GCP上实现这一点...
这是app.yaml文件。
我们有以下调度文件(*表示掩码URL):
它运行得非常好。问题在于例如用户A正在访问应用程序主页。我们部署了一个修复程序,更改了chunk文件名。然后用户A尝试访问另一页,然后出现错误“Loading chunk * failed”。获取文件的URL现在返回404,因为该文件已被一些新的chunk文件替换。
据我所见,在我的研究中这是一个常见的问题,但我没有找到适用于Google App Engine的解决方案。
这是一篇解释问题/解决方案的文章:https://mitchgavan.com/code-splitting-react-safely/ 我想使用解决方案1:“在部署后在您的服务器上保留旧文件”,但我不知道如何在GCP上实现这一点...
这是app.yaml文件。
service: frontend
runtime: nodejs14
env: standard
instance_class: F1
handlers:
- url: /(.*\..+)$
static_files: build/\1
upload: build/(.*\..+)$
- url: /.*
static_files: build/index.html
upload: build/index.html
我们有以下调度文件(*表示掩码URL):
dispatch:
- url: "*"
service: frontend
- url: "www.*"
service: frontend