成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

node.js - webpack打包報(bào)javaScript heap out of memory,怎么解決?

瀏覽:138日期:2023-09-15 17:41:16

問(wèn)題描述

將nodejs從5.1.1升級(jí)到6.10.2之后,執(zhí)行生產(chǎn)環(huán)境的打包(`set NODE_ENV=production && webpack --config webpack.production.config.js`),控制臺(tái)報(bào)錯(cuò):“CALL_AND_RETYR_LAST Allocation failed -javascript heap out of memoty”。![圖片描述](/img/bVMNK1)(這是一張圖片,為什么上傳不了?)我nodejs版本是6.10.2, npm原本是3.10.X,后臺(tái)看在stackoverflow上看到有人說(shuō)把npm更新到最新版就能解決這個(gè)問(wèn)題,npm最后更新到4.5.0。無(wú)論是百度還是stackoverflow,我都找過(guò)解決方案(我找到了webpack.cmd,在命令行“node '%~dp0node_moduleswebpackbinwebpack.js' %* ”添加 '-max_old_space_size = 2048'參數(shù)),并且嘗試了,但是沒(méi)有用,怎么破?

問(wèn)題解答

回答1:

哎,我終于自己搞定了。其實(shí),現(xiàn)在發(fā)現(xiàn)我已開(kāi)始的解決問(wèn)題的思路沒(méi)有錯(cuò),就是往node命令行里面添加 '--max_old_space_size'。錯(cuò)就錯(cuò)在,加的地方加錯(cuò)了(可能是針對(duì)我這種環(huán)境不起作用?)。一開(kāi)始我是參考了segmentfault上面一個(gè)同樣的weback打包導(dǎo)致nodejs內(nèi)存溢出的一個(gè)問(wèn)題所提供的方案來(lái)做的,就是在全局的webpack.cmd(路徑是:C:UsersAdministratorAppDataRoamingnpmwebpack.cmd)里面添加,如下圖:node.js - webpack打包報(bào)javaScript heap out of memory,怎么解決?但是發(fā)現(xiàn)沒(méi)有起作用,執(zhí)行命令后還是內(nèi)存溢出。然后我折騰了很久,第二天上了stackoverflow上面再次搜索了一下答案,發(fā)現(xiàn)了這個(gè)答案:node.js - webpack打包報(bào)javaScript heap out of memory,怎么解決?于是乎,我將我生產(chǎn)環(huán)境下打包所用的npm鉤子腳本改為:“set NODE_ENV=production && node --max_old_space_size=2048 node_modules/webpack/bin/webpack.js --config webpack.production.config.js”。也就是說(shuō)我使用了局部/本地的webpack,而不是全局安裝的webpack來(lái)打包。通過(guò)給nodejs添加“--max_old_space_size=2048”來(lái)擴(kuò)大內(nèi)存為2*1024M=2G來(lái)解決了內(nèi)存溢出問(wèn)題。

回答2:

證據(jù)太少,無(wú)法破案!

標(biāo)簽: JavaScript
相關(guān)文章: