【Ionic2】Ionic2打包編譯時記憶體溢位問題
阿新 • • 發佈:2019-02-16
問題描述:
使用
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
打包就不會報記憶體溢位啦
參考資料: