我有一个Vite/React/Typescript/Yarn monoreo,它包含两个应用程序和一些共享组件。运行vite dev
时,我无法使HMR正常工作。
回购示例如下:https://github.com/jakeboone02/em-hmr-test.如果运行yarn && yarn start:app1
,请打开http://localhost:3012/,然后编辑任何组件并保存,页面将重新加载,而不仅仅是将组件替换到位。
回购是实际专有代码的精简版本。我尝试将所有导出转换为default
,如本讨论问答中所建议的,但每次更改时页面仍会重新加载。
Vite配置是否有问题,导致HMR无法工作?
原来我使用的是不推荐使用的@vitejs/plugin-react刷新,而不是更新的、更闪亮的@vitijs/plugin-react。回购已更新。
对我来说,经过一番斗争,我发现这是某人的错误类init调用,没有在我们的堆栈中封装在单例模式中,所以不是Vite或HMR,而是HMR重新启动了一些不应该重新启动的东西,所以它出错了。通过将其包装为单例模式,它停止了暂停第二次热模块重新加载。因此,在使用vite追逐随机confit内容之前,请密切关注您的浏览器控制台警告和本地服务器日志,这可能根本不是vite