关于npm前端项目编译时栈溢出 Maximum call stack size exceeded的处理方案

背景:使用vue+elementui的前端项目,使用jenkins进行自动化编译部署,某天在进行编译发版的时候,突然出现 npm ERR! Maximum call stack size exceeded 错误,一直都没法编译成功。

原因:随着前端项目的不断迭代,代码和依赖模块越来越多,编译时需要的内存需要越来越大,默认情况下node.js的编译内存是(32 位系统:约 0.7GB,64 位系统:约 1.7GB),编译内存不够导致编译失败。

处理方案:

前端项目引入跨平台环境变量设置工具cross-env模块,然后设置编译时的内存大小。

步骤一:

在前端项目引入依赖,执行如下命令:

复制代码
npm install --save-dev cross-env

步骤二:对package.json的编译命令里设置内存参数:

复制代码
"build:prod": "cross-env NODE_OPTIONS=--max-old-space-size=4096 vue-cli-service build --mode prod",

对于不同的编译命令,在对应命令前增加 cross-env NODE_OPTIONS=--max-old-space-size=4096 参数即可,我方项目是用 npm run build:tclprod 进行编译的,所以对package.json包的build:prod进行添加参数。

步骤三:执行 npm run build:tclprod 即可正常完成编译。

相关推荐
晓得迷路了几秒前
栗子前端技术周刊第 121 期 - Vitest 4.1、Nuxt 4.4、Next.js 16.2...
前端·javascript·vite
kyle~1 分钟前
Electron桌面容器
前端·javascript·electron
隔壁小邓4 分钟前
vue如何拆分业务逻辑
前端·javascript·vue.js
En^_^Joy7 分钟前
Ajax与Axios:现代前端异步请求指南
前端·javascript·ajax
Cobyte11 分钟前
来,实现一个 Mini Claude Code:从底层理解 AI Agent
前端·aigc·ai编程
SuperEugene11 分钟前
Vue3 + Element Plus 表单校验实战:规则复用、自定义校验、提示语统一,告别混乱避坑|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架
酉鬼女又兒15 分钟前
零基础快速入门前端JavaScript 浏览器环境输入输出语句全解析:从弹框交互到控制台调试(可用于备赛蓝桥杯Web应用开发赛道)
前端·javascript·职场和发展·蓝桥杯·js
清汤饺子15 分钟前
搞懂 Cursor 后,我一行代码都不敲了《实战篇》
前端·javascript·后端
SuperEugene16 分钟前
Vue3 + Element Plus 表格查询规范:条件管理、分页联动 + 避坑,标准化写法|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架
问道飞鱼23 分钟前
【前端知识】React生态你了解多少?
前端·react.js·前端框架·生态