Jav*_*rín 8 google-app-engine caching google-cloud-platform
我使用以下设置将包含Angular SPA的HTML静态文件作为自定义域的全能处理程序推送:
- url: /(api|activate|associate|c|close_fb|combine|import|password|sitemap)($|/.*)
script: gae.php
- url: /.*
static_files: public/static/app/v248/es/app.html
upload: public/static/app/v248/es/app.html
expiration: "1h"
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果我推新的app.html它不会更新.我试图改变本地路径,部署一个新的应用程序版本,甚至用自定义的PHP端点替换catch-all处理程序,但它不起作用,响应仍然是我上传的第一个app.html版本.
其他人遇到了同样的问题(CSS文件未在部署时更新(谷歌AppEngine)),它看起来与谷歌CDN缓存有关,但据我所知,没有任何方法来冲洗它.
有一种方法可以刷新您的应用程序在Google Cloud上缓存的静态文件。
转到您的Google Cloud Console并打开您的项目。在左侧汉堡菜单下,转到“存储”->“浏览器”。在这里,您应该至少找到一个存储桶:your-project-name.appspot.com。在“生命周期”列下,单击有关your-project-name.appspot.com的链接。删除任何现有规则,因为它们可能与您现在创建的规则冲突。
通过单击“添加规则”按钮来创建新规则。对于对象条件,仅选择“较新版本”选项并将其设置为1。请不要忘记单击“继续”按钮。对于操作,选择“删除”,然后单击“继续”按钮。保存新规则。
这项新规则最多可能需要24小时才能生效,但是至少对于我的项目而言,它只花了几分钟。一旦启动并运行,您的应用程序在your-project-name.appspot.com下提供的文件版本将始终是最新部署的版本,从而解决了该问题。另外,如果您要定期编辑静态文件,则应expiration从与这些静态文件相关的处理程序中删除任何元素,并default_expiration从app.yaml文件中删除该元素,这将有助于避免其他服务器意外缓存。
| 归档时间: |
|
| 查看次数: |
2703 次 |
| 最近记录: |