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


当前回答

只需执行以下命令:

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

其他回答

在项目文件夹中运行此命令。使用服务而不是构建

node --max_old_space_size=8000 node_modules/@angular/cli/bin/ng serve  --prod --port=4202

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

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

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

这会导致内存不足。

在我的例子中,错误是由于在for中不恰当地使用条件引起的。循环。而不是:

for (let t = startNo; t <= endNo; t++) {}

我有:

for (let t = startNo; endNo; t++) {}

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

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

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

对于我来说,我得到了这个错误,因为我失去了对我的angular中dist文件夹设置的输出路径的访问。json文件。在我用更新的凭证重新连接到远程路径后,错误消失了。