文件监听与忽略
Vite 监听文件变化触发 HMR,可配置监听范围优化性能。
文件监听配置
JavaScript
export default defineConfig({
server: {
watch: {
// 监听选项
usePolling: true, // 使用轮询(适合 Docker)
interval: 100, // 轮询间隔
ignored: ['**/node_modules/**', '**/dist/**']
}
}
})
配置选项说明
| 选项 | 说明 | |
|---|---|---|
| usePolling | 使用轮询方式监听 | |
| interval | 轮询间隔(毫秒) | |
| ignored | 忽略监听的文件 | |
| depth | 监听深度 |
注意:轮询监听消耗更多资源,只在必要时使用。
忽略监听文件
JavaScript
export default defineConfig({
server: {
watch: {
ignored: [
'**/node_modules/**',
'**/dist/**',
'**/.git/**',
'**/coverage/**'
]
}
}
})
Docker 环境
Docker 中文件监听可能失效,使用轮询:
JavaScript
export default defineConfig({
server: {
watch: {
usePolling: true,
interval: 100
}
}
})
监听深度控制
JavaScript
export default defineConfig({
server: {
watch: {
depth: 10 // 监听目录层级深度
}
}
})
监听性能优化
JavaScript
export default defineConfig({
server: {
watch: {
// 减少不必要的监听
ignored: [
'**/node_modules/**',
'**/test/**',
'**/*.test.js'
]
}
}
})
监听问题排查
| 问题 | 解决方案 | |
|---|---|---|
| HMR 不生效 | 检查 watch 配置 | |
| Docker 热更新失败 | 使用 usePolling | |
| 监听过多文件 | 配置 ignored |
监听触发 HMR
text
文件变化 → 监听触发 → HMR 更新 → 浏览器刷新
要点总结
- watch 配置文件监听选项
- ignored 忽略不需要监听的文件
- Docker 环境使用 usePolling
- 优化监听范围提升性能
📝 发现内容有误?点击此处直接编辑