我正在一个Angular-cli项目中创建一个传单地图。地图瓷砖存储在本地的“资产”文件夹中,因为它是一个栅格地图。问题是当我有很多缩放级别的地图时,我有超过28万张图像,大约1.1GB大小,它会变得更大。
当我使用ng serve
时,这里是控制台输出(它被卡住@assets optimization):
** 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
我尝试使用:节点--max_old_space_size=8192-optimize_for_size--max_executable_size=4096--stack_size=4096
,但没有任何区别。
1-有没有其他方法可以避免优化所有的资产文件夹?如果这是问题的来源我认为,因为项目运行平稳之前添加了更多的传单瓷砖图像。
2-是否有任何变通办法来解决这个问题?
将下面的行添加到package.json
文件中。
"aot": "node --max-old-space-size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot"
并尝试使用npm运行aot
对我有效。
安全上下文:000001af8a2cfb61 2:/*匿名*/[C:\project_folder\node_modules\source-map\lib\source-node.js:100][pc=0000016e99866533](this=00000346870554e1,mapping=000003c18fdc93c9)3:参数适配器框架:3->1 4:InnerArrayForEach
问题内容: 运行时出现以下错误: 严重错误:CALL_AND_RETRY_LAST分配失败-JavaScript堆内存不足 有没有办法全局增加node.js内存限制? 问题答案: 您可以使用以下命令启动NPM: 如所描述的在这里,默认为4000(4GB)。
我试图用AOT构建我的angular-cli项目 你知道吗?
从Node.js heap out memory中我了解到,Node的标准内存使用量是1.7GB,我认为这应该足够了。有什么想法,为什么记忆版本不工作,以及如何修复它?
前言 在应用程序运行过程中,如果内存出现了问题,具体有怎样的体现 内存问题的外在表现 1.页面出现延迟加载或经常性暂停(限定网络情况正常) 2.页面持续性出现糟糕的性能(限定网络情况正常) 3.页面的性能随时间延长越来越差(限定网络情况正常) 界定内存问题的标准 1.内存泄漏:内存使用持续走高 2.内存膨胀:在多数设备上都存在性能问题 3.频繁垃圾回收:通过内存变化图进行分析 监控内