Vite 开发服务器热更新失效?从 WebSocket 连接排查到 HMR 边界分析
本地开发时 Vite 的热更新突然不工作,改完代码浏览器没有任何反应,控制台也不报错,只能手动刷新。这种现象在多人协作项目里出现的频率不低,尤其是从 Webpack 迁移过来、或者项目里同时存在多个构建工具的时候。Vite 的 HMR 依赖客户端和服务端之间的一条 WebSocket 长连接,服务端通过 chokidar 监听文件变化,经过插件容器处理后再把更新推给客户端。任何一个环节断掉,表现都是「改了没反应」,但原因可能完全不同。这篇文章从实际的排查路径出发,覆盖 WebSocket 连接状态、HMR 边界声明、文件监听范围、插件顺序、monorepo 软链等几个高频触发点,同时给出对应的...