Next.js项目执行npm run dev时服务器崩溃,报JavaScript堆内存不足错误
解决Next.js
npm run dev时JavaScript堆内存不足崩溃问题 临时缓解:调整Node.js内存限制
直接给Node.js分配更多内存,修改package.json里的启动命令:
"scripts": { "dev": "NODE_OPTIONS=\"--max-old-space-size=8192\" next dev" }
8192代表8GB内存,可根据自己机器配置调整为4096(4GB)或16384(16GB)。
排查内存泄漏根源
- 检查
/html/page组件,看是否存在无限循环、大量重复渲染的数据,或者未清理的定时器、事件订阅 - 用Node.js调试工具定位泄漏点:
NODE_OPTIONS="--max-old-space-size=8192 --inspect" next dev
打开Chrome浏览器输入chrome://inspect,连接调试进程后生成内存快照,分析占用内存的对象。
优化Next.js编译与依赖
- 修改
next.config.js减少编译压力:
/** @type {import('next').NextConfig} */ const nextConfig = { experimental: { concurrentFeatures: false, }, webpack: (config) => { // 开发环境禁用代码压缩,加快编译同时减少内存占用 config.optimization.minimize = process.env.NODE_ENV === 'production'; return config; }, }; module.exports = nextConfig;
- 排查项目里的大体积依赖,换成轻量替代库,或者使用按需引入方式加载组件。
清理缓存重置环境
删除编译缓存和依赖目录,重新安装:
rm -rf .next node_modules npm install npm run dev
内容的提问来源于stack exchange,提问作者kartik Krishna sharma
相关产品推荐
相关产品推荐

