我看过很多关于实时重载、热重载和热模块替换的帖子和出版物,提到了在 Web 客户端/FE 层工作时在浏览器中立即反映代码更改的不同做法。
我对这些术语指的是什么有一个公平的理解,我唯一的问题是这些概念是否在某个地方得到了正确的定义,以及它们之间的具体区别是什么。
我看过很多关于实时重载、热重载和热模块替换的帖子和出版物,提到了在 Web 客户端/FE 层工作时在浏览器中立即反映代码更改的不同做法。
我对这些术语指的是什么有一个公平的理解,我唯一的问题是这些概念是否在某个地方得到了正确的定义,以及它们之间的具体区别是什么。
所以我今天刚遇到同样的问题,并认为分享我的发现很好:
Live Reload - 触发应用程序范围的重新加载,监听文件更改
Hot Module Replacement - 与 Live Reload 相同,不同之处在于它只替换已修改的模块,因此使用了 Replacement 这个词。这样做的好处是它不会丢失您的应用程序状态,例如您在表单字段中的输入、您当前选择的选项卡等。这是另一个 SO answer 的全面解释。
最后,Hot Reloading是Hot Module Replacement的缩写。
这是一个解释性视频,您可以查看并区分 LR 和 HMR。