前端项目npm打包出错问题-Reached heap limit Allocation failed - JavaScript heap out of memory
其实就是编译时的内存溢出,因为打包文件过大,刚好超过内存的限制大小造成编译中断。
解决方案一
通过 package.json 中的 "build" 加大内存
增加--max_old_space_size参数
解决方案二
使用 increase-memory-limit 插件,增加node服务器内存限制
全局安装 npm install -g increase-memory-limit
然后在当前项目执行 increase-memory-limit
然后运行打包命令,如果出现
'"node --max-old-space-size=10240"' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这里不是内存设置太大,而是因为win10系统命令行中不能正确识别双引号"",所以要把这个插件包中涉及到的脚本中双引号都去掉,即修改node_modules下的.bin文件中的所有.cmd文件,将里面的"%_prog%" 去掉双引号 改成 %_prog%。
在node_module下的.bin文件夹中查找"%_prog%"
替换"%_prog%" 为 %_prog% (去掉双引号)
就可以了