国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

angular4 JavaScript內(nèi)存溢出問題

2024-05-06 15:21:02
字體:
供稿:網(wǎng)友

最近在寫基于angular4的項目的時候,在build --prod的時候,突然措手不及的蹦出個報錯,大致錯誤如下:

70% building modules 1345/1345 modules 0 active<--- Last few GCs --->ms: Mark-sweep 703.9 (837.9) -> 701.4 (811.9) MB, 331.3 / 0 ms [allocation failure] [GC in old space requested].ms: Mark-sweep 701.4 (811.9) -> 701.4 (790.9) MB, 350.5 / 0 ms [allocation failure] [GC in old space requested].ms: Mark-sweep 701.4 (790.9) -> 698.0 (760.9) MB, 433.7 / 0 ms [last resort gc].ms: Mark-sweep 698.0 (760.9) -> 692.7 (751.9) MB, 328.7 / 0 ms [last resort gc].<--- JS stacktrace --->==== JS stack trace =========================================Security context: 00000298510373A9 <JS Object>  1: /* anonymous */(aka /* anonymous */) [D:/dev/cobalt_wp/node_modules/webpack/lib/FlagDependencyExportsPlugin.js:77] [pc=0000026F721B51D6] (this=0000029851004131 <undefined>,dep=00000150FC6162C9 <a NormalModule with map 0000025741730C01>)  2: arguments adaptor frame: 3->1  3: InnerArrayForEach(aka InnerArrayForEach) [native array.js:~924] [pc=0000026F71EE3DCD] (this=000002985100413...FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

注:這里的代碼并不是我的真實報錯代碼,編譯時間太長,忘記截取了,大致的錯誤基本一樣,如果你遇到了相同的問題,恭喜了,往下看能找到答案!

當時我是蒙圈了,一直都編譯的挺好,怎么突然就溢出了呢?

可能的原因有如下:

1.angular4 在編譯的時候,對CPU和內(nèi)存的需求比較大,當文件數(shù)量很多的時候,可能會出現(xiàn)內(nèi)存不足的情況(有可能);

2.當代碼出現(xiàn)大量大數(shù)據(jù)的循環(huán)或者死循環(huán)(sever階段并沒有出現(xiàn)溢出,這個概率應(yīng)該不大);

3.angular訂閱的數(shù)據(jù)在 ngOnDestroy 階段沒有被銷毀,造成大量數(shù)據(jù)占用內(nèi)存(有可能)

目前沒有查到具體是什么原因造成的,哪位大神知道的,請不吝賜教,謝謝!

解決這個問題的過程很波折,這里就不說了,你們估計也不想知道,下面說一下解決方案吧:

核心思路是運用v8引擎的舊屬性: --max_old_space_size 來修改內(nèi)存上線,至于這個屬性在哪里設(shè),就是一個磨人的小妖精了!

修改目錄:  my-project/node_modules/.bin  找到 ng.cmd :

@IF EXIST "%~dp0/node.exe" ( "%~dp0/node.exe" --max_old_space_size=8192 "%~dp0/../._@angular_cli@1.0.0@@angular/cli/bin/ng" %*) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0/../._@angular_cli@1.0.0@@angular/cli/bin/ng" %*)

修改目錄: my-project/node_modules/.bin  找到 ngc.cmd :

@IF EXIST "%~dp0/node.exe" ( "%~dp0/node.exe" --max_old_space_size=8192 "%~dp0/../._@angular_compiler-cli@4.0.1@@angular/compiler-cli/src/main.js" %*) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0/../._@angular_compiler-cli@4.0.1@@angular/compiler-cli/src/main.js" %*)            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 墨竹工卡县| 广宁县| 琼结县| 榕江县| 赤壁市| 玉屏| 太湖县| 惠安县| 山东| 涿州市| 晴隆县| 新疆| 托克托县| 福州市| 昌宁县| 朔州市| 新蔡县| 友谊县| 富顺县| 烟台市| 广德县| 文化| 桐乡市| 即墨市| 汉中市| 梓潼县| 云龙县| 济南市| 集贤县| 屏山县| 新宁县| 宜宾县| 通海县| 多伦县| 逊克县| 承德市| 乌兰县| 宜州市| 开封市| 化隆| 新昌县|