【Ionic】Ionic打包编译时内存溢出问题
问题描述:
使用
ionic build android --prod
打包的时候报了内存溢出的错误
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
(不加prod的时候不会内存溢出)
解决方案:
运用v8引擎的旧属性: --max_old_space_size 来修改内存上线
需要修改两个文件:
{project_path}/node_modules/.bin/ng.cmd
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=7200 "%~dp0\..\@angular\cli\bin\ng" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=7200 "%~dp0\..\@angular\cli\bin\ng" %* )
{project_path}/node_modules/.bin/ngc.cmd
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=7200 "%~dp0\..\@angular\compiler-cli\src\main.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=7200 "%~dp0\..\@angular\compiler-cli\src\main.js" %* )
注意 --max_old_space_size=7200这一段均为新加,总共需要在两个文件,4个地方添加
7200这个数值可以根据个人电脑配置设定,上限不超过个人电脑内存,楼主的电脑内存为8G,所以这里写7200
修改完这两个文件直接保存后,
再使用
ionic build android --prod
打包就不会报内存溢出啦
参考资料: