Vue 项目启动内存溢出

Vue 项目启动内存溢出

报错信息:FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

解决一:(自己采用这种方式解决的)

  • 安装个npm包 : increase-memory-limit
npm install -g increase-memory-limit
  • 在package.json 中加
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"

image-20211011105912823

  • 然后在项目中
npm run fix-memory-limit

# 项目启动
npm run dev

解决二:

  • 安装两个npm包 : increase-memory-limit 和cross-env
  • 在package.json 中加
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit",
"adjust-mermory-limit": "cross-env LIMIT='4096' increase-memory-limit"
  • 然后在项目中
npm run fix-memory-limit
  • 如果你运行fix-memory-limit提示无效命令 就

cmd窗口

set NODE_OPTIONS=--max_old_space_size=4096

参考博客:

  1. https://www.wlyc.cn/post-209.html
  2. https://blog.youkuaiyun.com/weixin_44128575/article/details/109196493
### 解决 WebStorm 中 Vue 项目运行时出现的内存溢出问题 当遇到 WebStorm 运行 Vue 项目时发生 `OutOfMemory` 错误的情况,通常是因为 Node.js 的默认堆栈大小不足以处理大型项目的编译和构建过程。可以通过调整 Node.js 和 Webpack 配置来解决问题。 #### 调整 Node.js 堆栈大小 为了增加可用的内存量,在启动命令前添加参数以提高最大旧生代空间: ```bash node --max-old-space-size=8192 ./node_modules/.bin/vue-cli-service serve ``` 这会将最大旧生代空间设置为 8GB[^1]。 对于频繁使用的开发环境来说,可以修改 package.json 文件中的脚本部分以便每次执行服务时不需手动输入额外参数: ```json { "scripts": { "serve": "node --max_old_space_size=8192 node_modules/@vue/cli-service/bin/vue-cli-service.js serve" } } ``` #### 修改 Webpack 构建配置 如果仍然存在性能瓶颈,则考虑优化 Webpack 构建流程。一种方法是在 vue.config.js 或 webpack.config.js 中启用 TerserPlugin 插件并减少压缩级别;另一种方式是通过 HappyPack 实现多线程打包加速[^2]: ```javascript const TerserPlugin = require('terser-webpack-plugin'); module.exports = { configureWebpack: { optimization: { minimize: true, minimizer: [ new TerserPlugin({ parallel: true, // 开启多核CPU支持 terserOptions: { compress: false, // 关闭压缩选项可加快速度 mangle: false // 不混淆变量名也可以提升效率 }, }), ], }, }, }; ``` #### 使用更高效的依赖管理工具 有时 npm 安装包过多也会占用大量资源。尝试切换到 Yarn 来代替 NPM 可能会有更好的表现,因为前者具有更快的速度以及更加稳定的缓存机制[^3]. 安装 yarn 后重新初始化项目依赖: ```bash yarn install ``` 以上措施应该能够有效缓解甚至彻底解决 WebStorm 下 Vue 应用程序因内存不足而产生的错误提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值