当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:


当前回答

当我在Visual Studio Code中执行以下语句时,我得到了相同的错误消息。但是当我在Windows命令行中执行相同的东西时,我可以成功地构建。

npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap

其他回答

当我运行angular 'ng serve'时,我也有类似的问题:

"致命错误:无效的标记-压缩接近堆限制分配失败- JavaScript堆内存不足"

在我的例子中,我发现我的Angular应用程序使用了惰性加载。一个模块已经导入到自己的路由模块,但有人做了一个导入它到应用程序模块,这导致递归(?)加载。

这会导致内存不足。

如果在Visual Studio Code中运行React应用程序时发生了这种情况,请检查您的propTypes,未定义的propTypes会导致同样的问题。

执行如下命令:

export NODE_OPTIONS="--max-old-space-size=2048"

检查你已经有多少钱了:

> node
> v8.getHeapStatistics()
{
  total_heap_size: 6049792,
  total_heap_size_executable: 524288,
  total_physical_size: 5477720,
  total_available_size: 1094444024,
  used_heap_size: 4141728,
  heap_size_limit: 1098907648,
  malloced_memory: 8192,
  peak_malloced_memory: 582752,
  does_zap_garbage: 0,
  number_of_native_contexts: 2,
  number_of_detached_contexts: 0
}

然后heap_size_limit: 1098907648

只需在终端中输入以下内容:

export NODE_OPTIONS="--max-old-space-size=8192"

当超过Node.js允许的默认最大内存时,就会发生错误。所有这些操作都增加了允许的最大内存。

只需执行以下命令:

export NODE_OPTIONS="--max-old-space-size=8192"