发布于 2020-02-10 12:24:46
TL;博士
HackerNews示例应用程序的这个小差异(3个文件)说明了如何实现最简单的HMR:
*关于Diffy:https://diffy.org/diff/kgfz1h97zr9sisxcfkb0m5cdi
* Permalink:https://pastebin.com/hv87aquw
hacker-news/client/hmr.js
hacker-news/client/index.js
hacker-news/config.app.js完整答案:
尽管reSolve框架的示例主要使用React,但如何实现前端取决于您,因此您可以实现自定义逻辑以支持热重加载。
另外,请注意,reSolve框架支持自动重建应用程序配置中指定的服务器包和自定义客户端源,如下代码示例所示:
https://github.com/reimagined/resolve/blob/master/examples/hacker-news/config.app.js#L49-L67
因此,您可以采取以下两种方法之一,在基于解析的应用程序中实现热重加载:
1)为您的应用程序实现一个SSR呈现器,如本例所示:https://github.com/reimagined/resolve/blob/master/examples/hacker-news/client/ssr.js。您甚至可以使用此文件的简化版本,其中只包含导入--这足以完成任务。主要的一点是,在任何UI源文件被更改后,这个SSR呈现程序都会自动重新生成,您可以将其用作文件更改的指示。在客户端,您可以向此处理程序发送长轮询请求,并在更改时调用页面重新加载。
2)使用一个构建器生成一个完全自定义的前端,该生成器提供开箱即用的热重加载(例如,create app),并将该前端链接到您的reSolve应用程序,如下例所示:
https://github.com/reimagined/resolve/tree/master/examples/with-vanillajs
https://stackoverflow.com/questions/60121146
复制相似问题