由于项目自身太庞大,换电脑换环境之后,开始报这种错误,网上搜索了各种解决方案,现总结如下:
1.错误截图
![](https://img.haomeiwen.com/i4929786/f8d5b32ed7bc6547.png)
2.产生原因:
nodejs在执行JavaScript时,内存受到v8限制,64位约为1.4g,32位0.7g
限制内存原因:垃圾回收时,js线程会暂停执行(避免JS应用逻辑与垃圾回收器看到的不一样),大量的堆内存回收严重影响性能
3.解决方案:
1)通过解决increase-memory-limit的包升级版来解决,安装两个npm包:increase-memory-limit-fixbug 和 cross-env
npm install cross-env increase-memory-limit
npm run fix-memory-limit
2)检查package.json是否有配置fix-memory-limit
"scripts": {
"dev": "vue-cli-service serve"
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
}
3)运行npm run dev
可能会报错 “node –max-old-space-size=4096不是内部或外部命令``”
接下来在项目的node_modules/.bin下面找到所有的*.cmd文件,
在ENDLOCAL语句的上边一行,修改"%_prog%" 改为 %_prog%, 去掉双引号。
![](https://img.haomeiwen.com/i4929786/8d08fd497a8a8747.png)
本人手动修改的,如上图,从下到上修改到vm2.cmd就好了
还不行的,推荐看一下这篇文章,作者写了脚本修改https://blog.csdn.net/qq_41614928/article/details/115835337
网友评论