关于最近使用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 编译成功!!!