Vercel部署站点GitHub更新后未同步问题求助
Vercel部署后站点不更新的排查与解决
可能的原因及解决步骤
1. Vercel边缘缓存未清除
即使代码中设置了Cache-Control,Vercel的边缘节点可能仍缓存了旧内容:
- 进入Vercel控制台,找到对应部署的详情页,点击「Purge Cache」按钮手动清除边缘缓存。
- 同时检查部署日志中的commit哈希,确认是否与你推送的最新commit一致——如果不一致,可能是GitHub webhook未触发,导致Vercel未拉取最新代码,可尝试手动触发部署。
2. 浏览器本地缓存残留
浏览器可能忽略no-store指令缓存旧页面:
- 使用强制刷新快捷键:Windows/Linux按
Ctrl+Shift+R,Mac按Cmd+Shift+R; - 切换到浏览器无痕模式访问站点,测试是否能看到更新。
3. 静态资源未添加内容哈希
如果dist目录下的JS/CSS等静态资源没有用内容哈希命名(比如main.js而非main.[contenthash].js),缓存系统会认为资源未变更:
- 调整项目构建配置(比如Vue/CRA/Vite的打包设置),为静态资源添加内容哈希后缀,确保内容变更时文件名自动更新。
4. Vercel配置文件覆盖缓存规则
检查项目根目录的vercel.json,如果存在全局缓存配置,会覆盖代码中的Cache-Control设置:
// 示例:可能导致缓存的配置 { "headers": [ { "source": "/(.*)", "headers": [ { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] } ] }
- 修改或移除这类全局缓存配置,确保代码中的设置生效。
内容的提问来源于stack exchange,提问作者ISHAN JARWAL
相关产品推荐
相关产品推荐

