vue报错node内存不足:CALL_AND_RETRY_LAST Allocation failed

之前项目一直是vue单页面应用,最近该需求要做vue多页面应用,运行时报错:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
是因为node内存溢出导致。

解决方案一:
在node_modules文件夹中找到webpack.cmd文件,在倒数第二行手动给node添加参数,如:

/* webpack.cmd文件 */
@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe --max-old-space-size=10240"  "%~dp0\..\webpack\bin\webpack.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max-old-space-size=4096  "%~dp0\..\webpack\bin\webpack.js" %*
)

我试用了此方法,重新运行过后还是报同样的错误,应该是参数没有设置上去的问题。

解决方案二:安装increase-memory-limit插件
全局安装

increase-memory-limit
 npm install -g increase-memory-limit

进入工程目录,执行:

increase-memory-limit

安装完成后可以打开webpack.cmd文件,你会发现它自动给node添加了内存限制,如图:

vue报错node内存不足:CALL_AND_RETRY_LAST Allocation failed

这样就解决了此报错问题。

解决方案三:在package.json文件中通过手动给"build"设置 --max_old_space_size=4096 来增加内存,如图:

vue报错node内存不足:CALL_AND_RETRY_LAST Allocation failed

然后再运行 npm run build 就可以正常打包构建了。

相关推荐