热重载:为什么修改代码不需要重启程序?

按下 Ctrl+S,屏幕上的界面几乎瞬间更新——没有重新编译的等待,没有应用重启的闪烁,甚至当前填写的表单数据都还在。这种被称为「热重载」的能力,已经成为现代开发体验的标配。但它究竟是如何工作的?为什么有些语言能轻松实现,而有些却举步维艰? ...

12 min · 5707 words

前端构建工具的四十年演进:从任务运行器到原生ESM开发服务器的技术博弈

2019年,一家电商公司的前端团队遇到了一个奇怪的问题:每次修改一行CSS代码,需要等待32秒才能在浏览器中看到效果。开发人员习惯了在代码编辑器和浏览器之间频繁切换,32秒的等待时间足以让他们忘记刚才想做什么改动。这不是个例——在那个时间点,一个中型React项目的Webpack冷启动时间动辄超过10秒,HMR(热模块替换)响应时间经常超过300毫秒。 ...

23 min · 11081 words