Node.js 网页包javascript内存不足-大量模块
我正在使用Webpack3.12.0和Angular 4.3.1进行一个项目。该应用程序最初非常大,由于进行了必要的修改,它变得更大,现在我遇到了以下错误:Node.js 网页包javascript内存不足-大量模块,node.js,webpack,Node.js,Webpack,我正在使用Webpack3.12.0和Angular 4.3.1进行一个项目。该应用程序最初非常大,由于进行了必要的修改,它变得更大,现在我遇到了以下错误: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: node_module_register 2: v8::internal::FatalProcessOutOfMemory 3: v8::internal::Fatal
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)到底代表什么
我试图增加最大旧空间的大小,但仍然不起作用
有什么建议吗?我终于找到了解决办法 应用程序突然变大的原因是一个重要因素
import { BehaviorSubject, Observable } from 'rxjs';
修改为:
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';
现在,应用程序已恢复到以前的大小,并且构建不会出现堆溢出。您可以共享您的网页配置吗?很遗憾,由于公司的政策,我无法共享。我所能说的是:我的npm启动脚本和构建脚本的不同之处在于,构建运行的是uglifyjs webpack插件和babel minify webpack插件如果你不公开任何公司信息,你就不会违反策略。没有它,我们就看不出哪里出了问题。你可以使用tenser网页包插件,看看是否有效。babel minify在这一点上是多余的。如果没有配置,几乎不可能帮助您。删除“敏感”部分(我甚至不知道如何在网页包配置中包含敏感信息)并将其发布。这是因为您是从“rxjs”整体导入的,而不是从“rxjs/…”导入的吗?