Angular2在linux环境上编译报内存不足等问题

问题描述

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