现象:node编译vue项目,build时提示: javascript out of memory


原因:node编译时,用的是Google的V8引擎进行编译,V8引擎编译时默认分配的内存大小只有1.4G(对于64位系统来说)。
当项目比较大时,会出现1.4G内存太小导致的溢出的问题。


解决:node提供了自定义编译内存的办法,我是通过在打包脚本上增加一行代码解决的:

export NODE_OPTIONS="--max-old-space-size=4096"

即让编译时使用的内存为4096M。

由于我是流水线打包,所以需要在每次执行脚本时,手动改一下环境变量,如果是本地打包的话,其实一劳永逸的设置node一次就可以。