webpack 运行 npm run build 内存溢出 JavaScript heap out of memory
vue-cli3.0 构建的项目,开发过程中,可能会遇到内存溢出的情况,改动一点代码,代码编译,进程就会断掉,报JavaScript heap out of memory 内存溢出的错误
内存溢出主要原因分析
-
nodejs在执行 JavaScript 时,内存受到 v8 限制,64 位约为 1.4g,32 位 0.7g- 限制内存原因:垃圾回收时,js 线程会暂停执行(避免 JS 应用逻辑与垃圾回收器看到的不一样),大量的堆内存回收严重影响性能
解决思路
- 通过
webpack进行打包优化,降低单个文件大小,比如使用dll,这个思路不是本节讲授重点 - 扩大
node内存
思路 2 具体解决方案
通过解决 increase-memory-limit 的包升级版来解决
1. 安装两个 npm 包: increase-memory-limit-fixbug 和 cross-env
npm install increase-memory-limit-fixbug cross-env -g
2. package.json中 添加如下脚本
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
