vue热更新失败,node内存溢出,JS stacktrace

最近碰到一个问题,vue项目偶发性的编译失败,严重影响工作。错误如图:

vue热更新失败,node内存溢出,JS stacktrace_第1张图片
错误.png

查询后了解到是Node中通过JavaScript使用内存时只能使用部分内存(64位系统:1.4 GB,32位系统:0.7 GB),如果前端项目比较大,Webpack编译时就会占用很多的系统资源,一旦超出了 V8引擎对Node默认的内存限制大小时,就会产生内存溢出的错误。
处理方式是:在package.json中script下添加

  "scripts": {
    "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit",
    ...
  },
  "devDependencies": {
    "increase-memory-limit": "^1.0.7",
    "cross-env": "^5.2.0",
    ...
  }

接着执行 npm install cross-env --save--dev(目前这里只能使用npm)
以及 npm install increase-memory-limit --save--dev
如果安装失败则需要先删除掉项目的node_modules包
配置并安装成功后执行npm run fix-memory-limit这句,成功则会出现一下界面

vue热更新失败,node内存溢出,JS stacktrace_第2张图片
执行.png

经测试不再出现溢出问题,在此作以记录

你可能感兴趣的:(vue热更新失败,node内存溢出,JS stacktrace)