资产优化中的Angular-cli'JavaScript堆内存不足'

我正在Angular-cli项目中创build一个传单地图。 地图图块本地存储在“资产”文件夹中,因为它是栅格地图。 问题是,当我有很多缩放级别的地图时,我已经有超过280万个图像,大小约为1.1GB,而且会变大。

当我使用ng serve这里是控制台输出(它被卡住@资产优化):

 ** NG Live Development Server is running on http://localhost:4200. ** 25234ms building modules 69ms sealing 0ms optimizing 0ms basic module optimization 96ms module optimization 1ms advanced module optimization 16ms basic chunk optimization 0ms chunk optimization 1ms advanced chunk optimization 0ms module and chunk tree optimization 179ms module reviving 9ms module order optimization 4ms module id optimization 6ms chunk reviving 23ms chunk order optimization 36ms chunk id optimization 61ms hashing 1ms module assets processing 149ms chunk assets processing 4ms additional chunk assets processing 0ms recording 1ms additional asset processing 2693ms chunk asset optimization 94% asset optimization <--- Last few GCs ---> 119106 ms: Mark-sweep 1333.6 (1409.7) -> 1333.6 (1415.7) MB, 1402.0 / 2.1 ms [allocation failure] [GC in old space requested]. 120570 ms: Mark-sweep 1333.6 (1415.7) -> 1333.6 (1427.7) MB, 1464.2 / 2.2 ms [allocation failure] [GC in old space requested]. 122079 ms: Mark-sweep 1333.6 (1427.7) -> 1340.0 (1409.7) MB, 1508.1 / 2.5 ms [last resort gc]. 123749 ms: Mark-sweep 1340.0 (1409.7) -> 1346.3 (1409.7) MB, 1670.2 / 2.1 ms [last resort gc]. <--- JS stacktrace ---> ==== JS stack trace ========================================= Security context: 000001AA792CFB61 <JS Object> 1: inflight [C:\Workspace\node_modules\inflight\inflight.js:~7] [pc=00000202BF9894B7] (this=000001AA792E6661 <JS Global Object>,key=00000045863E5881 <Strin g[90]\: lstat\x00C:/Workspace/src/assets/leafletmap_files/9/42/176.png>,cb=00000045863E5839 <JS Function lstatcb_ (SharedFunctionInfo 00000253E9EFC219 )>) 2: wrapper [C:\Workspace\... FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 

我尝试使用: node --max_old_space_size=8192 --optimize_for_size --max_executable_size=4096 --stack_size=4096 ,但它没有任何区别。

1- 是否有其他方法可以避免优化所有资产文件夹? 如果这是我认为的问题的根源,因为在添加更多小册子平铺图像之前项目运行平稳。

2- 是否有任何解决方法来解决这个问题?

更新:在与这个问题有关的Angular-cli仓库中有一个公开的问题。

对于那些得到相同的错误,我通过改变全局ng.cmd文件解决了这个问题。

C:\ Users \用户名\%APPDATA%\漫游\ NPM

将以下代码复制/粘贴到您的ng.cmd中。

 @IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" --max_old_space_size=8048 "%~dp0\node_modules\@angular\cli\bin\ng" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8048 "%~dp0\node_modules\@angular\cli\bin\ng" %* ) 
Interesting Posts