gpt4 book ai didi

Svelte 热重载问题

转载 作者:行者123 更新时间:2023-12-04 07:31:01 25 4
gpt4 key购买 nike

最近开始使用 sveltejs 模板玩 Svelte。一切正常,但是当我对文件进行任何更改时,它不会将更改热重新加载到 Web 浏览器,因此我必须手动刷新页面才能看到更改。设置中是否有任何选项可以启用该功能,或者此时不可能?

最佳答案

更新 2022-03-24
现在,Svelte 正式支持 HMR,包括 Vite、Svelte Kit 和 Webpack。 Svelte 的 Snowpack 插件也支持 HMR。
下面的信息基本上仍然是关于 Rollup 宇宙中 HMR 支持的最新信息。
关于 HMR,今天的 Vite(以及在后台使用它的 Kit)可能是迄今为止最好的解决方案。它具有出色的 HMR 支持,并且在开发过程中比 Rollup 等面向捆绑优化的工具快得多。
(因此,现在接受的答案更加错误!)

只是为了反驳作者自己的库,我要争辩说,公认的答案都是错误的。
Rollup 的 HMR 可以是 rollup-plugin-hot .如前所述,Nollup也可以。
这样,您就可以将更新的代码推送到浏览器并刷新(即销毁 + 重新创建)整个应用程序,而无需重新加载页面。但是,如果有的话,这并不比重新加载整页好得多。
您想要的是仅替换受代码更新影响的 Svelte 组件,以便保留您当前的应用程序状态,并且您还希望尽可能保留更新组件的状态。为此,您可以使用 rollup-plugin-svelte-hot使用 Rollup/Nollup 或 svelte-loader-hot使用 Webpack。
等待官方支持,我维护官方模板的克隆 + HMR:svelte-template-hot对于 Rollup/Nollup 和 svelte-template-webpack-hot对于 Webpack。还有sapper-template-hot用于 Sapper(仅支持 Webpack)。并且,为了完整起见,svelte-native-template (不是我维护的)还包括 HMR 支持。
Svelte 仍未正式支持 HMR。 Rich的回答中提到的问题已关闭。现在可以在 this issue 中跟踪进度.
(当然,Rich 的答案在最初写的时候是正确的。从官方的角度来看,它仍然是正确的。而且这个答案是为我自己的项目做广告的无耻插件,因为这个问题在谷歌中排名很高,但我希望它是还是有用的。)

关于Svelte 热重载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55842088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com