最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年03月06日 11:52:47   作者:凌云之翼  
本篇文章主要介紹了angular4 JavaScript內(nèi)存溢出問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近在寫基于angular4的項(xiàng)目的時(shí)候,在build --prod的時(shí)候,突然措手不及的蹦出個(gè)報(bào)錯(cuò),大致錯(cuò)誤如下:

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

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

當(dāng)時(shí)我是蒙圈了,一直都編譯的挺好,怎么突然就溢出了呢?

可能的原因有如下:

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

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

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

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

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

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

修改目錄:  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" %*
)

看到里面的--max_old_space_size設(shè)置了嗎? 至于數(shù)字設(shè)多少,你們自己看著辦吧,我的項(xiàng)目比較大,設(shè)個(gè)大點(diǎn)的值,以防不測(cè),哈哈!

然后執(zhí)行 ng build --prod ,你以為這樣就行了嗎?這才是關(guān)鍵的地方!

本人親測(cè),如上設(shè)置,再執(zhí)行編譯依然會(huì)報(bào)內(nèi)存溢出,貌似并沒什么卵用!把當(dāng)前目錄切換到 my-project/node_modules/.bin 然后再執(zhí)行 ng build --prod , 世界一下子就和平了! 本人親測(cè)有效,收好不謝!

如果你想問,為什么不加 --aot , 這個(gè)就留個(gè)你自己先想想吧!

好了,忙里抽閑,分享一下這個(gè)大坑的填坑方法, 希望對(duì)大家有用!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • angular父子組件通信詳解

    angular父子組件通信詳解

    這篇文章主要為大家介紹了angular父子組件通信,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 將angular.js項(xiàng)目整合到.net mvc中的方法詳解

    將angular.js項(xiàng)目整合到.net mvc中的方法詳解

    這篇文章主要給大家介紹了將angular.js項(xiàng)目整合到.net mvc中的相關(guān)資料,文中通過示例代碼將實(shí)現(xiàn)的過程介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧。
    2017-06-06
  • AngularJs ng-route路由詳解及實(shí)例代碼

    AngularJs ng-route路由詳解及實(shí)例代碼

    這篇文章主要介紹了AngularJs ng-route路由,這里整理相關(guān)資料及簡(jiǎn)單實(shí)例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • AngularJS入門教程之REST和定制服務(wù)詳解

    AngularJS入門教程之REST和定制服務(wù)詳解

    本文主要講解 AngularJS REST和定制服務(wù)的知識(shí),這里幫大家整理了相關(guān)知識(shí),并附示例代碼,詳細(xì)講解了RES和定制服務(wù)的知識(shí),有興趣的小伙伴可以參考下
    2016-08-08
  • Web前端框架Angular4.0.0 正式版發(fā)布

    Web前端框架Angular4.0.0 正式版發(fā)布

    經(jīng)歷了 6 個(gè) RC 版本之后,Angular 發(fā)布了 4.0.0 正式版。下面這篇文章主要給大家介紹了關(guān)于Web前端框架Angular4.0.0 正式版發(fā)布的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-03-03
  • AngularJS使用ng-repeat遍歷二維數(shù)組元素的方法詳解

    AngularJS使用ng-repeat遍歷二維數(shù)組元素的方法詳解

    這篇文章主要介紹了AngularJS使用ng-repeat遍歷二維數(shù)組元素的方法,結(jié)合實(shí)例形式分析了AngularJS二維數(shù)組元素遍歷的相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • angularjs實(shí)現(xiàn)table增加tr的方法

    angularjs實(shí)現(xiàn)table增加tr的方法

    下面小編就為大家分享一篇angularjs實(shí)現(xiàn)table增加tr的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Angularjs中的$apply及優(yōu)化使用詳解

    Angularjs中的$apply及優(yōu)化使用詳解

    angular js的雙向數(shù)據(jù)綁定,在開發(fā)中起到的作用灰常大,所以下面這篇文章主要給大家介紹了關(guān)于Angularjs中$apply及優(yōu)化使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧
    2018-07-07
  • 簡(jiǎn)介AngularJS中$http服務(wù)的用法

    簡(jiǎn)介AngularJS中$http服務(wù)的用法

    我們可以使用內(nèi)置的$http服務(wù)直接同外部進(jìn)行通信。$http服務(wù)只是簡(jiǎn)單的封裝了瀏覽器原生的XMLHttpRequest對(duì)象。接下來通過本文給大家簡(jiǎn)單介紹angularjs中http服務(wù)的用法,喜歡的朋友可以參考下
    2016-02-02
  • Angular如何由模板生成DOM樹的方法

    Angular如何由模板生成DOM樹的方法

    這篇文章主要介紹了Angular如何由模板生成DOM樹的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

宾川县| 朔州市| 延安市| 耿马| 华亭县| 贵港市| 两当县| 莲花县| 都匀市| 承德市| 金湖县| 慈利县| 灵台县| 玉屏| 太谷县| 海兴县| 宣化县| 正蓝旗| 鹿邑县| 上林县| 西安市| 白沙| 同仁县| 华池县| 湘潭市| 佛冈县| 武宣县| 雅江县| 通城县| 鸡东县| 乐清市| 大石桥市| 屯留县| 秦皇岛市| 日喀则市| 尼木县| 古丈县| 梁山县| 鄂托克前旗| 五河县| 应城市|