Vite开发服务器持续加载问题求助(React+TypeScript项目)
解决Linux Mint下Vite开发服务器运行一段时间后卡顿/网络异常问题
以下是针对该问题的排查和解决步骤:
1. 调整Vite版本
部分Vite版本存在已知的内存泄漏或连接管理bug,建议切换到经过验证的稳定版本:
- 升级到最新稳定版:
npm update vite - 回退到指定稳定版(如v4.4.5):
npm install vite@4.4.5 --save-dev
2. 优化文件监听配置
过多的文件监听会消耗系统资源,在vite.config.ts中明确排除无需监听的目录:
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], server: { watch: { ignored: ['**/node_modules/**', '**/.git/**', '**/dist/**'] } } })
同时检查并提升Linux inotify监听限制(ulimit之外的关键配置):
- 查看当前值:
cat /proc/sys/fs/inotify/max_user_watches - 临时提升:
echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches - 永久生效:编辑
/etc/sysctl.conf,添加fs.inotify.max_user_watches=524288,再执行sudo sysctl -p
3. 排查内存泄漏
用Node.js调试工具分析Vite进程的内存占用:
- 运行服务器后,通过
ps aux | grep vite找到进程PID - 启动调试:
node --inspect <Vite进程PID> - 打开Chrome访问
chrome://inspect,添加localhost:9229后,选择对应进程生成内存快照,定位持续增长的内存占用源
4. 清理无效WebSocket连接
Vite依赖WebSocket实现热更新,无效连接积累会导致网络异常:
- 在浏览器开发者工具「Network」标签筛选「WS」类型,检查是否有大量pending或未正常关闭的连接
- 开启浏览器「Disable cache」选项(开发者工具→Network面板),避免缓存引发的连接问题
- 重启服务器时,强制关闭所有相关浏览器标签页,确保旧连接完全清理
5. 优化系统TCP参数
大量TIME_WAIT状态的socket会占用网络资源,可通过以下命令调整:
- 临时生效:
sudo sysctl -w net.ipv4.tcp_tw_reuse=1 - 永久生效:编辑
/etc/sysctl.conf,添加net.ipv4.tcp_tw_reuse=1,执行sudo sysctl -p应用配置
6. 清理项目依赖
第三方依赖冲突或损坏可能引发异常:
- 删除
node_modules和锁文件:rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 排查最近新增的依赖,临时移除后测试问题是否复现
内容的提问来源于stack exchange,提问作者Susant Patel
相关产品推荐
相关产品推荐

