说明
打包的时候报了内存溢出的错误(不加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
安装命令:
全局安装increase-memory-limit.pngnpm install -g increase-memory-limit
- 在项目根目录执行
increase-memory-limit
命令
该命令会在
项目根目录执行increase-memory-limit.pngnode_modules/.bin/
目录下所有的文件中加入--max-old-space-size=4096
,即可解决
方法一:
通过修改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
网友评论