首页 > 解决方案 > Webpack javascript Heap out of memory - 大量模块

问题描述

我正在使用带有 Angular 4.3.1 的 webpack 3.12.0 进行项目。该应用程序最初很安静,由于必要的修改,它变得更大,现在我收到此错误:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of 
memory
1: node_module_register
2: v8::internal::FatalProcessOutOfMemory
3: v8::internal::FatalProcessOutOfMemory
4: v8::internal::Factory::NewFillerObject
5: v8::internal::MemoryReducer::TearDown

首先,当我运行一个没有丑化和缩小的简单构建时,我注意到 webpack 输出的数量增加了,我猜这是 webpack 编译的模块数量:

前: 在此处输入图像描述

后: 在此处输入图像描述

如您所见,我们从 1829(+1815 个隐藏模块)到 2279(+2265 个隐藏模块)。

我的第一个问题:数字 1829(和 2279)究竟代表什么?

我试图增加 max_old_space_size 但它仍然不起作用。

有什么建议么 ?

标签: node.jswebpack

解决方案


我终于找到了解决方案。

应用程序突然变大的原因是导入。

import { BehaviorSubject, Observable } from 'rxjs';

修改为:

import { BehaviorSubject  } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';

现在应用程序恢复到以前的大小,并且构建不会导致堆溢出。


推荐阅读