背景
其实 node 热更基本原理都是清除 require 的缓存后,在重新 require。之前也见过别人在 Typescrip 下的热更实现,但是有个缺点:重新 require 后缺失了引用对象的代码提示,造成了不好的开发体验。
实现记录
下面是我的实现
1 | import * as fs from "fs"; |
这里顺便说下为什么用 watchFile 而不是 watch 方法,因为时间测试中修改文件一次出现 watch 方法回调了 3 次,虽然 3 次没什么影响,但是有节约强迫症改为了 watchFile,watchFile 有个小问题估计是轮询机制导致的就是有点延迟,但是可以接受。