Windows更新后Node、Vite请求极慢且内存占用过高问题求助
针对Windows 10更新后Vite性能问题的解决方案
1. 优化Vite文件监听与编译配置
Windows更新后文件系统监听机制可能出现异常,在项目根目录的vite.config.js中添加以下配置:
import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import vue from '@vitejs/plugin-vue'; export default defineConfig({ plugins: [ laravel({ input: 'resources/js/app.js', refresh: true, }), vue({ template: { transformAssetUrls: { base: null, includeAbsolute: false, }, }, }), ], // 核心优化配置 server: { watch: { usePolling: true, // 强制使用轮询监听,适配Windows文件系统 interval: 100, // 轮询间隔,平衡性能与响应速度 ignored: ['**/node_modules/**', '**/.git/**', 'storage/**'] // 排除无需监听的目录 } }, optimizeDeps: { exclude: ['node_modules/**'], // 跳过依赖预构建的冗余目录 include: ['vue', 'axios'] // 强制预构建核心依赖 } });
2. 排除项目目录的Windows Defender监控
Windows Defender实时扫描会拦截Node进程的文件读写,导致Vite响应变慢:
- 打开「Windows Defender安全中心」
- 进入「病毒和威胁防护」→「管理设置」
- 找到「排除项」,点击「添加或删除排除项」
- 分别添加项目根目录、
node_modules目录和storage目录
3. 降级Vite及Laravel插件版本
Vite 5.x在Windows部分环境存在兼容性bug,尝试降级到稳定兼容版本:
# 降级Vite到4.5.x稳定版 npm install vite@4.5.2 --save-dev # 匹配Laravel Vite插件版本 npm install laravel-vite-plugin@0.8.0 --save-dev
4. 限制Node.js内存占用
修改package.json中的启动脚本,手动限制Node内存上限,防止内存持续溢出:
"scripts": { "dev": "node --max-old-space-size=1024 node_modules/vite/bin/vite.js", "build": "vite build" }
--max-old-space-size=1024表示限制Node最大内存为1GB,可根据项目规模调整数值。
5. 清理缓存并重装依赖
旧缓存与新系统环境冲突可能导致异常,执行以下命令重置依赖:
rm -rf node_modules rm package-lock.json npm cache clean --force npm install
额外排查建议
- 关闭PhpStorm的「File Watchers」「Live Edit」等后台工具,避免与Vite监听机制冲突
- 检查项目中是否存在大量未优化的全局样式文件或动态导入逻辑,这类代码会增加Vite编译负担
内容的提问来源于stack exchange,提问作者Remco KYP
相关产品推荐
相关产品推荐

