Vue项目,打包npm run build报错,内存溢出

有两种报错的表现:
1、FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
image.png

2、Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory
image.png

1、2两种均是JavaScript 堆内存耗尽,导致 Node.js 进程崩溃导致。
本质上这是一个node的问题。

解决方法:
1、尝试增加堆内存限制,有全局级和项目级两种方式。

1a、在全局增加堆内存限制
环境变量->系统变量中加上
变量名:NODE_OPTIONS
变量值:--max-old-space-size=8192
(不一定是8192这个值,可以自己修改)

1b、项目级增加堆内存限制(推荐)
"build": "NODE_OPTIONS=--max-old-space-size=8192 vue-cli-service build --mode test"。 (不一定是8192这个值,可以自己修改)

如果是windows系统可以借助cross-env这个npm包
首先npm i cross-env -D

再修改package.json 中的scripts
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vue-cli-service build --mode test"

2、使用压缩工具,如uglifyjs。目的是减小打包后代码体积。

同步更新到自己的语雀
https://www.yuque.com/dirackeeko/blog/pkk0xamyuazgrkl6


DiracKeeko
125 声望2 粉丝