别再手动重启 Node 了:用 chokidar 和 child_process 实现稳定的热重载
本地开发 Node 服务时,改完代码再手动 Ctrl+C、重新 node app.js,一天下来能按上百次。虽然 nodemon 已经能解决大部分场景,但它默认全量重启,遇到大项目或者需要保持 WebSocket、定时任务、缓存状态时,重启意味着连接断开、任务重新计时。更麻烦的是,有些文件(比如日志、临时文件、依赖目录)被监听到后触发无意义的重启。这篇文章从实际开发场景出发,先分析 Node 原生 fs.watch 在跨平台上踩过的坑,再基于 chokidar 封装一个带防抖、忽略规则和优雅退出机制的热重载小工具。涉及 child_process 的进程管理、信号处理、Windows 下的进程...