项目启动时,出现以下的错误:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
查了一下才知道是node的内存溢出了,只需要加大node的内存即可,有两种方法(vue和react项目皆可):
方法1. 在package.json文件中加入这样一段命令:
"scripts": {
"build": "node --max_old_space_size=4096 build/build.js "
} //这是打包的命令,其他例如启动项目命令同样添加这样的命令即可:node --max_old_space_size=4096
方法2. 安装两个插件:increase-memory-limit 和 cross-env:(个人感觉更好用)
npm install --save-dev increase-memory-limit 和 npm install --save-dev cross-env
并在package.json文件中添加一段命令:
"scripts": {
/* 添加 fix-memory-limit */
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
}
命令添加后,需要run一下:
npm run fix-memory-limit
成功后,就可以重启项目或打包项目了! npm run ***
注:若还是报内存溢出,可以将内存值增大,例:node --max_old_space_size=8192
最后,若是意外报了这个错:
'"node --max-old-space-size=4096"' 不是内部或外部命令,也不是可运行的程序
可以删除node-modules目录,重新安装依赖包。