node內存溢出處理


前端項目較大,編譯(npm run serve)或者打包(npm run build)時,服務突然停止,報內存溢出錯誤(stderr maxBuffer exceeded)

原因:在前端項目非常龐大時,webpack編譯會占用很多系統資源,如果超出了V8引擎對node默認的內存限制大小時,就會產生內存溢出的錯誤。

解決方案:放大node內存

方案一:使用increase-memory-limit插件

方案二:修改package.json的node命令,--max-old-space-size=6000

方案三:修改環境變量

前兩種方案網上已有很多帖子給了詳細介紹,這里只介紹第三種方案

這里介紹MAC電腦上修改環境變量的方案   (命令的輸入須英文模式)

1. 選擇終端,打開命令行工具

2. 輸入:echo $PATH,按回車執行命令查看當前變量值

3. 輸入:sudo vi ~/.bash_profile,按回車,輸入電腦密碼后,將打開bash_profile文件,

    (沒有此文件的話,系統會新建此文件,且內容為空白文檔)

4. 鍵盤按 i 開始編輯,輸入 export NODE_OPTIONS=--max_old_space_size=6000

5. 編輯完成,按 esc 退出編輯模式

6. 輸入  :wq  保存退出,  :q!  不保存退出

7. 輸入 source ~/.bash_profile  (修改系統環境變量,須source一下,才能生效)

參考鏈接:

https://jingyan.baidu.com/article/8065f87f47b29523312498e4.html

https://jingyan.baidu.com/article/d2b1d1029c1ea65c7e37d4c9.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM