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