本項目用的是angular4搭建,用動態組件的形式來顯示頁面,之前遇到過因為內存溢出而導致無法aot的問題,
解決方法:手動改寫內存上限
修改目錄: my-project/node_modules/.bin 找到 ng.cmd :
@IF EXIST "%~dp0/node.exe" ( "%~dp0/node.exe" --max_old_space_size=8192 "%~dp0/../@angular/cli/bin/ng" %*) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0/../@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" %*)
至于到底是什么原因導致的內存溢出,還不清楚,只是有如下猜測:
1)文件過多;
2)訂閱數據沒有銷毀占用內存,(看了下訂閱的數據很少,應該不是的);
3)因為所有的組件都在一個根目錄下(上面說了,用的動態組件沒用路由),導致需要編譯的組件過多?
暫時還不清楚只能先用設置內存上限的方法來解決,有大神的話望不吝指教;
還有一個問題就是用動態組件的方式,組件都在根目錄下,會導致首次加載的時間過長。有奇思妙想請告訴我,哈哈
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答