atool-build打包項(xiàng)目報(bào)JavaScript heap out of memory錯(cuò)誤

問題

? ? ? ?當(dāng)使用NodeJS的atool-build對(duì)前端項(xiàng)目進(jìn)行打包時(shí),出現(xiàn)了JavaScript heap out of memory錯(cuò)誤(內(nèi)存溢出),如下:


異常截圖.png

原因

? ? ? ?出現(xiàn)這個(gè)問題的原因,是因?yàn)镹odeJS給JavaScript設(shè)置了默認(rèn)內(nèi)存使用限制(32位系統(tǒng)下0.7GB,64位系統(tǒng)下1.4GB),就算我們的電腦內(nèi)存是64GB的,在使用atool-build打包時(shí)也要遵循這個(gè)內(nèi)存使用限制。
? ? ? ?在用atool-build對(duì)項(xiàng)目進(jìn)行打包時(shí),如果項(xiàng)目比較小,代碼比較少,一般不會(huì)超過這個(gè)限制;但如果項(xiàng)目比如大,文件比較多,代碼又比較多,那么就可能超過這個(gè)限制,拋出JavaScript heap out of memory內(nèi)存溢出錯(cuò)誤。

解決辦法

? ? ? ?既然知道了原因,就有了解決辦法:手動(dòng)調(diào)大這個(gè)限制,比如將這個(gè)限制調(diào)整為4GB(再不行就調(diào)為8GB),這樣就算項(xiàng)目比較大,也不容易達(dá)到限制導(dǎo)致錯(cuò)誤發(fā)生。
? ? ? ?打開項(xiàng)目目錄下node_modules的子目錄.bin,找到atool-build.cmd這個(gè)命令文件(如果使用的是webpack,那么就找到此目錄下的webpack.cmd文件),然后使用文本編輯器打開此文件,在箭頭所指的位置加上--max_old_space_size=4096然后保存(單位為MB,例如此處的4096就是4GB的意思)。

修改命令內(nèi)容.png

? ? ? ?重新執(zhí)行打包命令,問題解決

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 報(bào)錯(cuò)信息很直觀地指出是內(nèi)存溢出了。是什么導(dǎo)致了內(nèi)存溢出呢?其根本原因在于 nodejs 默認(rèn)限制了最大可使用的內(nèi)存...
    SevenLonely閱讀 2,201評(píng)論 0 1
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評(píng)論 1 32
  • 目錄第1章 webpack簡介 11.1 webpack是什么? 11.2 官網(wǎng)地址 21.3 為什么使用 web...
    lemonzoey閱讀 1,829評(píng)論 0 1
  • 有些風(fēng)景印在心底 有些記憶存在腦海 有些人似曾相識(shí),卻無法再見 有些事,仿佛永遠(yuǎn)是遺憾 散心,希望認(rèn)識(shí)新的朋友 旅...
    Cathy小米粒閱讀 274評(píng)論 0 0
  • 現(xiàn)在的你,24歲,大約已經(jīng)過了人生的三分之一,從年少的無知到青春的懵懂,長到今日大概應(yīng)該有了成熟的樣子。24歲,應(yīng)...
    喜歡你沒道理sunshine閱讀 208評(píng)論 0 0

友情鏈接更多精彩內(nèi)容