使用Vite js、DDEV和Craft CMS时Mac端HMR热重载极慢如何解决?
解决方案
1. 优化Docker Desktop文件共享性能
- 先升级Docker Desktop到最新稳定版,你当前使用的4.0.0版本文件同步机制性能较差,是延迟高的核心诱因之一
- 升级完成后在Docker设置的「特性开发」页签启用VirtioFS文件共享,该模式相比旧的gRPC FUSE/osxfs模式,宿主与容器间的文件变更同步效率可提升数倍
- 在Docker设置的「资源」页签,将CPU分配调整为4核,内存分配调整为8GB及以上,Swap调整为2GB,避免资源不足导致的处理延迟
2. 调整Vite监听配置
在vite.config.js中新增监听配置,开启轮询模式适配容器运行场景:
export default defineConfig({ server: { host: '0.0.0.0', watch: { usePolling: true, interval: 300 }, hmr: { clientPort: 5173 // 替换为DDEV映射到宿主机的Vite端口 } } })
注:interval参数为轮询间隔,单位毫秒,可根据实际需求调整,数值越小灵敏度越高、资源占用也越高
3. 优化DDEV挂载规则
在项目的.ddev/config.yaml中新增额外挂载配置,将不需要监听的目录配置为匿名卷,减少文件监听范围:
web_extra_mounts: - type: volume source: node_modules target: /var/www/html/node_modules - type: volume source: vendor target: /var/www/html/vendor - type: volume source: craft_storage target: /var/www/html/storage
配置完成后执行ddev restart生效。
内容的提问来源于stack exchange,提问作者Arno Ramon
相关产品推荐
相关产品推荐

