美文网首页
atool-build打包项目报JavaScript heap

atool-build打包项目报JavaScript heap

作者: 江江原点 | 来源:发表于2019-02-22 10:17 被阅读0次

    问题

           当使用NodeJS的atool-build对前端项目进行打包时,出现了JavaScript heap out of memory错误(内存溢出),如下:


    异常截图.png

    原因

           出现这个问题的原因,是因为NodeJS给JavaScript设置了默认内存使用限制(32位系统下0.7GB,64位系统下1.4GB),就算我们的电脑内存是64GB的,在使用atool-build打包时也要遵循这个内存使用限制。
           在用atool-build对项目进行打包时,如果项目比较小,代码比较少,一般不会超过这个限制;但如果项目比如大,文件比较多,代码又比较多,那么就可能超过这个限制,抛出JavaScript heap out of memory内存溢出错误。

    解决办法

           既然知道了原因,就有了解决办法:手动调大这个限制,比如将这个限制调整为4GB(再不行就调为8GB),这样就算项目比较大,也不容易达到限制导致错误发生。
           打开项目目录下node_modules的子目录.bin,找到atool-build.cmd这个命令文件(如果使用的是webpack,那么就找到此目录下的webpack.cmd文件),然后使用文本编辑器打开此文件,在箭头所指的位置加上--max_old_space_size=4096然后保存(单位为MB,例如此处的4096就是4GB的意思)。

    修改命令内容.png
           重新执行打包命令,问题解决

    相关文章

      网友评论

          本文标题:atool-build打包项目报JavaScript heap

          本文链接:https://www.haomeiwen.com/subject/avlsyqtx.html