Webpack編譯提示內存溢出解決方案


       在項目開發中,隨着業務需求的復雜項目隨之增大,再加上同一個文件被引用次數過於頻繁在開發編譯或者上線打包時經常會出現如下錯誤:

       這個報錯的意思就是Node內存不足所導致的,我們都知道 Node 是基於V8引擎,在一般的后端開發語言中,在基本的內存使用上沒有什么限制,但是,在 Node 中通過 JavaScript 使用內存時只能使用部分內存(64位系統下約為1.4 GB,32位系統下約為0.7 GB)所以不管你電腦實際內存多大,在node運行JavaScript打包編譯的時候所使用的內存大小,並不會因為你系統的實際內存大小改變而改變

解決方法如下:

windows系統

在 node_modules\.bin\webpack-dev-server.cmd 增加以下代碼即可解決

 

 

 

"--max_old_space_size=4096" //4096的單位為M,表示node最大占用內存數值,可根據實際情況自行調整復制代碼

 

插入位置如下圖所示:

 

 

 

@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" "--max_old_space_size=4096" "%~dp0\..\webpack-dev-server\bin\webpack-dev-server.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node "--max_old_space_size=4096" "%~dp0\..\webpack-dev-server\bin\webpack-dev-server.js" %* ) 復制代碼

 

Mac系統

在運行編譯的命令中修改為如下代碼即可

 

 

 

"scripts": { "dev": "node --max-old-space-size=4096 ./node_modules/.bin/webpack-dev-server --inline --progress --config build/webpack.dev.conf.js" },復制代碼

 

以上的修改方法其實都是變相的去調用了node的命令去修改node最大使用內存,從而解決內存不足問題


作者:漩渦鳴人0623
鏈接:https://juejin.im/post/5c5152ad6fb9a049ea395bea
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

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



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