Angular build编译内存溢出"JavaScript heap out of memory"的解决办法

关于最近使用angular build编译打包的时候,遇到内存溢出的突发情况,做一个简单记录

编译报错如下↓↓↓


报错信息很直观地指出是内存溢出了。是什么导致了内存溢出呢?其根本原因在于 nodejs 默认限制了最大可使用的内存大小。nodejs V8 引擎在 64 位机器上默认限制使用内存最大不超过 1.7GB

解决办法可以增加内存大小,修改package.json中的scripts脚本↓

node --max_old_space_size=5048 ./node_modules/@angular/cli/bin/ng build --prod
 1 "scripts": {
 2         "ng": "ng",
 3         "build-prod": "node --max_old_space_size=5048 ./node_modules/@angular/cli/bin/ng build --prod",
 4         "start": "ng serve --host 0.0.0.0 --port 64862 -o   ",
 5         "build": "ng build --prod --build-optimizer",
 6         "test": "ng test",
 7         "lint": "npm run lint:ts && npm run lint:style",
 8         "e2e": "ng e2e",
 9         "analyze": "ng build --prod --build-optimizer --stats-json",
10         "test-coverage": "ng test --code-coverage --watch=false",
11         "lint:ts": "tslint -p src/tsconfig.app.json -c tslint.json 'src/**/*.ts'",
12         "lint:style": "stylelint \"{src}/**/*.less\" --syntax less",
13         "lint-staged": "lint-staged",
14         "tslint-check": "tslint-config-prettier-check ./tslint.json",
15         "hmr": "ng serve --host 0.0.0.0 --port 64862 --hmr"
16     }

然后重新运行npm run build-prod 编译成功!!!

猜你喜欢

转载自www.cnblogs.com/24klr/p/11262633.html