關於最近使用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 編譯成功!!!