問題描述:
1、linux下 sh node_modules/.bin/ng build -aot -sm -prod --base-href=“”報內存不足
2、解決內存不足後,編譯繼續報錯
定位分析:
問題1:Node內存不足所導致的, Node是基於V8引擎,在Node中通過 JavaScript 使用內存時只能使用部分內存(64位系統下約爲1.4 GB,32位系統下約爲0.7 GB),所以不管你電腦實際內存多大,在node運行JavaScript打包編譯的時候所使用的內存大小,並不會因爲你係統的實際內存大小改變而改變。
問題2:error TS5055,因爲在tsconfig.json配置了allowJs:true,導致array.js也被編譯了。
解決方案:
1、修改node_modules\bin\ng文件,增加--max-old-space-size=4096
2、修改tsconfig.json中allowJs:false