關(guān)于node項目打包內(nèi)存溢出JS stacktrace

問題

<--- Last few GCs --->

   58003 ms: Mark-sweep 1350.6 (1434.6) -> 1350.5 (1434.6) MB, 753.0 / 0.0 ms [allocation failure] [GC in old space requested].
   58751 ms: Mark-sweep 1350.5 (1434.6) -> 1350.5 (1434.6) MB, 747.6 / 0.0 ms [allocation failure] [GC in old space requested].
   59479 ms: Mark-sweep 1350.5 (1434.6) -> 1352.9 (1404.6) MB, 728.1 / 0.0 ms [last resort gc].
   60211 ms: Mark-sweep 1352.9 (1404.6) -> 1355.4 (1404.6) MB, 731.9 / 0.0 ms [last resort gc].


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0000017B93ACFB61 <JS Object>
    1: init_scope_vars [0000017B93A04381 <undefined>:~3382] [pc=0000021C499F308D] (this=000003B07C026939 <an AST_Function with map 000001FA502ACAB9>,nesting=3)
    2: visit [0000017B93A04381 <undefined>:~3246] [pc=0000021C499EFC85] (this=000003CB4FA172A1 <a TreeWalker with map 000001FA502AEB61>,node=000003B07C026939 <an AST_Function with map 000001FA502ACAB9>,descend=000003EF887DA4C9 <JS Func...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
問題圖片

解決辦法一

設(shè)置node變量使用最大內(nèi)存為自己需要的

# linux & mac下面
export NODE_OPTIONS=--max_old_space_size=8096

# windows 下面
set NODE_OPTIONS=--max_old_space_size=8096

# 使用cross-env解決mac 與 windows 的差異
npm install --save-dev cross-env # 安裝

cross-env NODE_OPTIONS=--max_old_space_size=8096

例如

cross-env NODE_OPTIONS=--max_old_space_size=8096 npm run build

解決方法二

通過package.json加大內(nèi)存,在啟動node

node --max-old-space-size=8192 node\_modules/rollup/bin/rollup -c rollup-config.js

解決方法三

注:如果是按照方案三解決的話,在gitbash下執(zhí)行npm run build的話會報錯。

在nodejs 根目錄下把node.exe 重命名一下(比如node2.exe,防止和node.cmd沖突),建一個node.cmd文件 里面寫上 node2.exe --max-old-space-size=4096 %* 大概意思就是本來調(diào)用node.exe的時候被node.cmd劫持,強制分配最大內(nèi)存為4096MB ,然后再調(diào)用node.exe。

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

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

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