我最近从 Docker Desktop 迁移到 Rancher Desktop。然而,一旦我这样做了,Vite 热重载功能就停止在我的 Laravel Sail 项目上工作了。
经过进一步调查,我认为 Rancher Desktop 需要 Vite 才能使用轮询。
使用轮询时,热重载开始工作,但需要 15 到 20 秒才能对文件更改做出反应。
我通过 Rancher Desktop 设置找到了解决方案。
确保您的 vite.config.js 设置为使用轮询:
export default defineConfig({
server: {
watch: {
usePolling: true,
},
},
})
在 Rancher Desktop 中,转到 Preferences -> Virtual Machine -> Emulation 并选择 VZ
然后转到 Preferences -> Virtual Machine -> Volumes 并选择 virtiofs
这样热重载就能按预期工作。但是,请注意 usePolling 会导致 高 CPU 利用率。