内存溢出问题

本地一个项目是使用vue-cli2构建的,可以正常运行。
打算升级到vue-cli@3,遭遇了运行npm run dev无法运行,爆出JavaScript heap out of memory 的问题。

 

vue-cli2遇到此问题的解决办法:
npm run dev 和 npm run build 直接在前面加上--max_old_space_size=4096

1 "scripts": {
2 "start": "npm run dev",
3 "dev": "node --max_old_space_size=4096 build/dev-server.js",
4 "build": "node --max_old_space_size=4096 build/build.js",
5 "lint": "eslint --ext .js,.vue src",
6 "pre": "node build/pre.js",
7 "dll": "rimraf dist && webpack --progress --colors --config build/webpack.dll.conf.js"
8 },

 



vue-cli3遇到此问题的解决办法:
scripts中添加一句指令
安装两个npm包 : increase-memory-limit  和 cross-env
安装完成后,先执行一次 npm run fix-memory-limit,然后yarn serve启动即可

1 "scripts": {
2 "serve": "vue-cli-service serve",
3 "build": "vue-cli-service build",
4 
5 "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit",
6 },

# 同时安装 2 个依赖包

"devDependencies": {
"increase-memory-limit": "^1.0.3",
"cross-env": "^5.0.5"
}


vue-cli3 的解决办法找了半天才找到,说一下修复原理。
它不能像vue-cli2直接在 npm run dev中间添加一个参数,我尝试了几种方法只有使用安装模块fix-memory-limit的方式生效,其原理是修改了node_modules中一个叫做.bin(通常就是第一个文件夹)的文件夹内所有文件权限。

修改 .bin 下的所有 cmd 文件中的一个参数

%_prog%  改为  _prog

就是去掉两个 % 

 


参考链接https://blog.csdn.net/win7583362/article/details/86305780

参考链接:node --max-old-space-size=4096不是内部或外部命令_十里春分的博客-CSDN博客

posted @ 2021-08-17 17:04  llkj  阅读(600)  评论(0编辑  收藏  举报