情景:
公司前台项目使用 gitlab 持续集成的方式去开发,但是在某一天更新代码时突然出现了这样的问题FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
,解决方法:
在package.json文件中:"scripts": {"build": "cross-env NODE_OPTIONS=\"--max_old_space_size=2048\" vue-cli-service build",},
Node.js
使用的是Google的V8作为JavaScript脚本引擎,由于V8引擎的限制,Node.js中只能使用部分内存:64位操作系统下约为1.4G,32位操作系统下约为0.7G。对于浏览器来说,这样的限制影响不大,但是对于服务端程序来说有时候可能就不能满足需求了。NODE_OPTIONS
:设置环境变量;--max_old_space_size
:设置node内存cross-env
:能跨平台地设置及使用环境变量,大多数情况下,在windows平台下使用类似于: NODE_ENV=production的命令行指令会卡住