实时重载、热重载和热模块更换之间的概念区别是啥?

Posted

技术标签:

【中文标题】实时重载、热重载和热模块更换之间的概念区别是啥?【英文标题】:What are the conceptual differences between live reloading, hot reloading, and hot module replacement?实时重载、热重载和热模块更换之间的概念区别是什么? 【发布时间】:2017-04-14 20:37:45 【问题描述】:

我看过很多关于live reloadinghot reloadinghot module replacement的帖子和刊物,指的是不同的做法在 Web 客户端/FE 层工作时,立即在浏览器中反映代码的变化。

我对这些术语所指的内容有相当了解,我唯一的问题是这些概念是否在某处得到正确定义,它们之间的具体区别是什么。

【问题讨论】:

【参考方案1】:

所以我今天刚遇到同样的问题,并认为分享我的发现很好:

实时重载 - 触发应用范围内的重载以侦听文件更改

Hot Module Replacement - 与 Live Reload 相同,不同之处在于它只替换已修改的模块,因此使用了 Replacement 这个词。这样做的好处是它不会丢失您的应用程序状态,例如您在表单字段、当前选择的选项卡等上的输入。这是full-blown explanation from another SO answer。

最后,Hot Reloading 只是 Hot Module Replacement 的缩写。

这是一个解释性的video,您可以查看并区分 LR 和 HMR。

【讨论】:

以上是关于实时重载、热重载和热模块更换之间的概念区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决flutter中的性能和热重载问题?

由搭建Vue.js了解webpack,vue-loader和热重载

由搭建Vue.js了解webpack,vue-loader和热重载

Python的web项目如何进行动态重载和热部署?

Grails 或 Play 如何检测更改和热重载类?

首次尝试后热重载卡住