欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

最近在寫基于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)溢出,這個概率應該不大);

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

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

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

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

修改目錄:  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ù)字設多少,你們自己看著辦吧,我的項目比較大,設個大點的值,以防不測,哈哈!

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • 詳解Angular中$cacheFactory緩存的使用

    詳解Angular中$cacheFactory緩存的使用

    這篇文章主要介紹了Angular中$cacheFactory緩存的使用,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 淺談angularjs中響應回車事件

    淺談angularjs中響應回車事件

    下面小編就為大家?guī)硪黄獪\談angularjs中響應回車事件。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • angular2中使用第三方js庫的實例

    angular2中使用第三方js庫的實例

    下面小編就為大家分享一篇angular2中使用第三方js庫的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • AngularJS實現(xiàn)星星等級評分功能

    AngularJS實現(xiàn)星星等級評分功能

    這篇文章主要為大家詳細介紹了AngularJS實現(xiàn)星星等級評分功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • AngularJS在IE下取數(shù)據(jù)總是緩存問題的解決方法

    AngularJS在IE下取數(shù)據(jù)總是緩存問題的解決方法

    這篇文章主要介紹了AngularJS在IE下取數(shù)據(jù)總是緩存問題的解決方法,分析了問題的原因及AngularJS設置禁止IE對ajax緩存的實現(xiàn)方法,需要的朋友可以參考下
    2016-08-08
  • angular實現(xiàn)form驗證實例代碼

    angular實現(xiàn)form驗證實例代碼

    本篇文章主要介紹了angular實現(xiàn)form驗證實例代碼,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • 詳談Angular路由與Nodejs路由的區(qū)別

    詳談Angular路由與Nodejs路由的區(qū)別

    下面小編就為大家?guī)硪黄斦凙ngular路由與Nodejs路由的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Angular 多級路由實現(xiàn)登錄頁面跳轉(小白教程)

    Angular 多級路由實現(xiàn)登錄頁面跳轉(小白教程)

    這篇文章主要介紹了Angular 多級路由實現(xiàn)登錄頁面跳轉(小白教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • 詳解Angular2響應式表單

    詳解Angular2響應式表單

    這篇文章主要介紹了詳解Angular2響應式表單,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • angular4應用中輸入的最小值和最大值的方法

    angular4應用中輸入的最小值和最大值的方法

    這篇文章主要介紹了angular4應用中輸入的最小值和最大值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論