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


当前回答

执行如下命令:

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

其他回答

我在CentOS服务器7上也有同样的问题,但这解决了我的问题:

node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod

其中X =(2048或4096或8192 o..)是内存的值。

检查文件夹名称。如果文件夹名中有空格,就会产生这类问题。不带空格的重命名。

如果你在Windows上开发,在发布时遇到这个问题,请通过官方网站升级Node.js。

每更新一个Node.js版本,内存使用处理都会增加,尽管我没有找到确切的增加数字。

这是唯一对我有效的解决办法。我花了整整一个周末甚至更长的时间才解决这个问题。

添加参数——build-optimizer解决了我的问题:

Node——max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build——prod——构建优化器

我不知道为什么添加only——build-optimizer可以解决这个问题,但根据Angular文档,它应该在启用AOT编译的情况下使用,所以更新后的命令应该如下所示:

--build-optimizer=true --aot=true

Angular构建文档

由于某些原因,之前所有的答案对我都不起作用。我做了以下来解决我的问题:

我必须首先删除node_modules文件夹 在我的电脑上重新安装Node.js 然后安装NPM