在angular度prod构build期间的Javascript内存不足

我在为Windows 4中的angular 4项目生成prod时遇到以下错误 :92%块资产优化<—最后几个GC —>

[2608:000002518B1007B0] 578653 ms:标记扫描1400.7(1534.2) – > 1400.7(1502.2)MB,1409.9 / 0.0 ms不得已[2608:000002518B1007B0] 579952 ms:标记扫描1400.7(1502.2) – > 1400.7(1501.2) MB,1298.6 / 0.0 ms最后的手段

<— JS stacktrace —>

==== JS堆栈跟踪=========================================

安全上下文:0000003DF7DA66A1 1:DoJoin(又名DoJoin)[native array.js:〜97] [pc = 0000032E01B053FC](this = 000001F775C02311,q = 0000010002582251,r = 4,F = 000001F775C023B1,B = 000001F775C02471,A = 000001F775C02421) 2:Join(aka Join)[native array.js:〜122] [pc = 0000032E01E5AD22](this = 000001F775C02311,q = 0000010002582251,r = 4,B = 000001F775C02471

致命错误:CALL_AND_RETRY_LAST分配失败 – JavaScript堆内存不足

我试过了:编辑webpack.cmd如下(如其中一个SOpost中build议),但这并没有帮助:

@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=8048 "%~dp0\..\webpack\bin\webpack.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8048 node "%~dp0\..\webpack\bin\webpack.js" %* )

 @angular/cli: 1.0.0 node: 7.9.0 os: win32 x64 @angular/animations: 4.1.3 @angular/common: 4.1.3 @angular/compiler: 4.1.3 @angular/core: 4.1.3 @angular/forms: 4.1.3 @angular/http: 4.1.3 @angular/platform-browser: 4.1.3 @angular/platform-browser-dynamic: 4.1.3 @angular/router: 4.1.3 @angular/cli: 1.0.0 @angular/compiler-cli: 4.1.3 

在这个问题的所有github和SO页面,build议分配更多的内存给节点,我也这样做了,但没有解决。 我非常需要build立一个产品,请咨询我如何解决这个问题

我已经在%AppData%\npm (Windows)中的ng.cmd文件中更改了max_old_space_size ,它的确有诀窍。

我在启动ng build --prod --env=prod --base-href .时不再面临任何问题ng build --prod --env=prod --base-href .

要实际增加内存大小,您需要使用带文件调用的标志max_old_space_size 。 将您的代码更改为:

 @IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=8048 "%~dp0\..\webpack\bin\webpack.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8048 "%~dp0\..\webpack\bin\webpack.js" %* ) 

这应该做的伎俩。