说明
打包的时候报了内存溢出的错误(不加prod的时候不会内存溢出)
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
解决方法
node v8.0+:
windows:
set NODE_OPTIONS=--max_old_space_size=8192
mac:
export NODE_OPTIONS=--max_old_space_size=8192
终极解决方法(推荐):
- 全局安装
increase-memory-limit
安装命令:
npm install -g increase-memory-limit
全局安装increase-memory-limit.png
- 在项目根目录执行
increase-memory-limit命令
该命令会在
node_modules/.bin/目录下所有的文件中加入--max-old-space-size=4096,即可解决
项目根目录执行increase-memory-limit.png
方法一:
通过修改ng.cmd和ngc.cmd两个文件中添加--max-old-space-size解决
- 修改
node_modules/.bin下的ng.cmd:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\@angular\cli\bin\ng" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max-old-space-size=8192 "%~dp0\..\@angular\cli\bin\ng" %*
)
修改ng.cmd.png
- 修改
node_modules/.bin下的ngc.cmd:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\@angular\compiler-cli\src\main.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max-old-space-size=8192 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
)
修改ngc.cmd.png
方法二:
修改package.json文件
- 在
package.json文件scripts中添加命令:
"prod": "node --max-old-space-size=8192 node_modules\\@angular\\cli\\bin\\ng build --prod"
修改package.json.png
- 使用命令
npm run prod打包
Ps: 这里
npm run prod相当于--prod

全局安装increase-memory-limit.png
项目根目录执行increase-memory-limit.png
修改ng.cmd.png
修改ngc.cmd.png
修改package.json.png












网友评论