node.js - 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 但它仍然不起作用。
有什么建议么 ?
解决方案
我终于找到了解决方案。
应用程序突然变大的原因是导入。
import { BehaviorSubject, Observable } from 'rxjs';
修改为:
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';
现在应用程序恢复到以前的大小,并且构建不会导致堆溢出。
推荐阅读
- c# - Entity Framework Core 3 - 没有数据库提供程序错误
- php - (Laravel 8) errno: 150 "外键约束格式不正确
- typescript - 你可以破坏一个对象并对潜在的未定义常量进行无效合并吗?
- android - 为什么google playstore中的应用图标有时会缩小并有白框?
- registry - PDF 文件自定义上下文菜单未出现
- dataflow - 在数据流中使用 Flex 模板时 --impersonate 和 --service-account-email 有什么区别?
- node.js - TypeError:使用 client.on(guildCreate) 时 fn 不是函数
- javascript - 如何在我的 innerHTML 按钮标签中引用 HTML 集合的索引号?
- c - 访问在另一个 c 文件中定义的结构?
- c# - 关于DataTable的动态列表和TypeDescriptor的使用