当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
只需执行以下命令:
export NODE_OPTIONS="--max-old-space-size=8192"
其他回答
如果在Visual Studio Code中运行React应用程序时发生了这种情况,请检查您的propTypes,未定义的propTypes会导致同样的问题。
当我运行angular 'ng serve'时,我也有类似的问题:
"致命错误:无效的标记-压缩接近堆限制分配失败- JavaScript堆内存不足"
在我的例子中,我发现我的Angular应用程序使用了惰性加载。一个模块已经导入到自己的路由模块,但有人做了一个导入它到应用程序模块,这导致递归(?)加载。
这会导致内存不足。
检查文件夹名称。如果文件夹名中有空格,就会产生这类问题。不带空格的重命名。
从Node.js 12更新到Node.js 14为我解决了这个问题。
现在更新Node.js 16可用,我建议更新到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构建文档