热模块重新加载的重点是什么?

时间:2015-12-23 16:17:15

标签: javascript frontend livereload

如果问题过于主观,请原谅我。

我明白它是什么。请不要解释。

我只是不明白人们为什么觉得它有用。实时重新加载也是如此。按CMD + R的行为不是需要时间的事情。如果实际刷新需要很长时间,那么看起来应该只修复他们的开发环境。

我对这些事情有信任问题。似乎他们很可能最终导致错误。我担心我花了一个小时来追踪一个漏洞只是为了发现它是热模块重新加载的错误。或者说一切都在开发中工作,但是因为prod没有使用热模块重新加载和开发,所以会中断。也许这种恐惧是错误的。

我也觉得知道更改何时生效很棘手。看起来更简单,只要知道一旦按下CMR + R,您的更改就会出现。

3 个答案:

答案 0 :(得分:4)

这是一种效率的东西。无论您的开发环境有多快,当您按下Refresh时,它将需要一两秒钟,因为根据定义,事情不会来自缓存,我们正在讨论开发,因此可能会有一堆HTTP请求这将被整合到生产中的几个HTTP请求中。因此,如果你的工作流程是保存,切换到浏览器,点击刷新,你坐在那里几秒钟。每一次。

使用实时重新加载,在编辑器中点击保存,当您切换到浏览器时,刷新已经完成或至少正在进行中。

在我开始使用它之前,我对它的价值持怀疑态度。绝对注意到的周期有点快,有时显着更快,这取决于我改变了什么,以及我是否立即转到浏览器。

我没有遇到麻烦导致错误。 YMMV。

答案 1 :(得分:3)

HMR依赖于维持国家。对于简单的Web应用程序,重新加载可能只需要几秒钟。对于复杂的Web应用程序,进入状态所需的步骤可能是漫长而复杂的,在此过程中可能会出错。所以你做了很多步骤,找到你正在测试和击打的位,一个愚蠢的错字意味着你必须重新开始。通过使用HMR,可以避免所有不必要的重复性工作,将工作从几小时改为几十分钟。我没有任何问题相信它的设计目的。

如果没有测试,你永远不会发布,而且你永远不会用HMR进行测试。 HMR用于开发,您只需要相信它就可以在通过模块工作时维持状态。

答案 2 :(得分:1)

它也让我感到害怕......如果我100%的时间都不能相信它(而且我无法在100%的时间里放松),为什么要担心额外的复杂性呢?它?

刷新令人耳目一新。这是我的新发言。