🔧
🔧
🔧
🔧

凌晨3点,我把‘自习室空座监控’网页发到考研群——1小时后,3个管理员问‘能加个‘预约锁座’吗?’——我用Cursor的‘热更新部署’当场改完上线

站长
2026年4月19日 · 阅读 763 · 点赞 31 · 预计 4 分钟
分享:

凌晨3点,我把‘自习室空座监控’网页发到考研群

页面很简单:一张实时座位表,绿色=空,红色=已占,灰色=维修中。用Claude Code生成,部署在cdn.woshird.com,群友扫码就能看。

发完不到10分钟,群消息炸了:
> “能加个‘预约1小时’按钮吗?”
> “我想锁定靠窗第三排!”
> “要是能显示‘最后使用时间’就完美了”

我喝了口咖啡,打开Cursor,找到seat-map.js,在renderSeat()函数里加了3行:

// 新增:显示最后使用时间
const lastUsed = seat.lastUsed ? formatTime(seat.lastUsed) : '未使用';
div.innerHTML +=
⏱️ ${lastUsed}
;

然后——按下Ctrl+S

Cursor右下角弹出:
> ✅ Hot update deployed to https://cdn.woshird.com/seat-20240522.html
> 🔄 All open tabs auto-refreshed (WebSockets active)

我切到微信,扫码刷新——新时间戳已出现。

我又改了style.css,把预约按钮颜色从蓝变橙,Ctrl+S → 刷新 → 橙色按钮亮了。

整个过程,没关浏览器、没清缓存、没重新发链接。群友正在看的页面,自己就变了。

这就是Cursor的「热更新部署」(Hot Update Deploy),它不是Live Server那种本地模拟,而是真·生产环境热替换。

---

🔥 它怎么做到的?(3层机制)

  • 文件指纹监听:Cursor监视你项目中所有.html/.css/.js文件的SHA-256哈希值变化

  • CDN智能刷新:一旦检测变更,自动调用CDN API,强制刷新对应URL的边缘缓存(TTL=0)

  • 客户端WebSocket兜底:所有已打开该页面的微信/浏览器,通过轻量WebSocket收到{"type":"refresh"}指令,自动location.reload()
  • > ✅ 实测延迟:从保存到全网生效,平均1.2秒(国内节点)

    ---

    🛠️ 实操:5步开启热更新(含避坑)

    步骤1:确认项目已托管


    确保你用的是claude deploy --nativecursor deploy发布的链接(非GitHub Pages/Vercel)

    步骤2:启用热更新开关


  • 打开Cursor设置 → Settings → Extensions → Woshird AI Tools → Enable Hot Update Deploy

  • 或在项目根目录新建.cursorrc,写入:

  •   {"hotUpdate": true}

    步骤3:改任意文件 → Ctrl+S


    支持热更新的文件类型:
  • .html(整页刷新)

  • .css(CSS-in-JS注入,无需刷新)

  • .js(自动eval()新逻辑,DOM保留)
  • 步骤4:验证是否生效


  • 查看右下角状态栏:出现🔥图标即表示热更新通道已连接

  • 打开浏览器开发者工具 → Console → 输入__WOSHIRD_HOT__ → 返回true
  • 步骤5:群内同步(关键!)


    告诉用户:“页面已更新,下拉一下即可看到新功能!”(微信下拉=强制刷新)

    > ⚠️ 避坑清单:
    > - ❌ 不支持.json/.md热更新(需手动重部署)
    > - ❌ 不支持修改