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


当前回答

另一个非angular的答案(我在AWS Amplify上构建React应用时也遇到了同样的问题)。

正如Emmanuel所提到的,这似乎来自Node.js v10和Node.js v12处理内存的方式的差异。

我试着增加记忆,但没有用。但是使用Node.js v12做到了。

根据richard的解释,检查如何将nvm use $VERSION_NODE_12添加到构建设置中

前端: 阶段: preBuild: 命令: - nvm使用$VERSION_NODE_12 - NPM ci 构建: 命令: - nvm使用$VERSION_NODE_12 - node -v - NPM运行脚本构建

其他回答

node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true

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

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

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

这会导致内存不足。

如果这对某人有用的话。确保我们的Sass中没有递归。或者在最近添加的代码中使用不存在的递归。在某些情况下,超过Max堆就是一个标志。

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

这个问题在我为我的项目更新了我的所有库,如Node.js, TypeScript, Yarn, npm等之后就消失了。