问题出现
运行npm run build
,出现如下问题
主要原因分析:内存溢出
nodejs在执行JavaScript时,内存受到v8限制,64位约为1.4g,32位0.7g
限制内存原因:垃圾回收时,js线程会暂停执行(避免JS应用逻辑与垃圾回收器看到的不一样),大量的堆内存回收严重影响性能
解决方案
1、通过解决increase-memory-limit
的包升级版来解决,安装两个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"
3、运行 npm run fix-memory-limit
,执行完成后再执行 npm run dev
4、出现新问题 node --max-old-space-size-40960 不是内部或外部命令
解决方案
打开vscode,再搜索替换里进行操作,如图所示
参考博客:
https://blog.youkuaiyun.com/weixin_44696379/article/details/121873280
https://blog.youkuaiyun.com/qq_40608283/article/details/110183017