Nuxt项目启动或打包时,显示内存不足溢出问题解决方案

大型的Nuxt项目,后期会积攒太多模块和太多静态资源,这样会导致项目启动缓慢,启动和打包时候也会出现内存不足,无法成功的情况,导致这样的原因如下:

 

在Node中通过JavaScript使用内存时就会发现只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB)。在这样的限制下,将会导致Node无法直接操作大内存对象,比如无法将一个2 GB的文件读入内存中进行字符串分析处理,即使物理内存有32 GB。这样在单个Node进程的情况下,计算机的内存资源无法得到充足的使用。

 

造成这个问题的主要原因在于Node基于V8构建,所以在Node中使用的JavaScript对象基本上都是通过V8自己的方式来进行分配和管理的。V8的这套内存管理机制在浏览器的应用场景下使用起来绰绰有余,足以胜任前端页面中的所有需求。但在Node中,这却限制了开发者随心所欲使用大内存的想法。

 

尽管在服务器端操作大内存也不是常见的需求场景,但有了限制之后,我们的行为就如同带着镣铐跳舞,如果在实际的应用中不小心触碰到这个界限,会造成进程退出。

(以上摘自  https://blog.csdn.net/gtLBTNq9mr3/article/details/90709000)

 

下面来讲一下怎么处理:

1.使用最新版node环境

 

2.如果最新版node也不行的话,可以使用通过package.json安装一些依赖,来限制内存的方法,如下:

 "increase-memory-limit": "^1.0.7",
 "cross-env": "^7.0.2",

安装完这两个依赖以后,在script里添加一下命令

"fix-memory-limit": "cross-env LIMIT=8096 increase-memory-limit"

然后直接运行一下  npm run fix-memory-limit  ,限制一下内存即可

 

然后,正常启动项目或打包就可以了~~

 

 

嗯,就酱~~~

 

posted @ 2020-04-20 15:28  靳哲  阅读(2452)  评论(1编辑  收藏  举报