当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
对我来说,问题是有一个额外的node_modules文件夹,我重命名为node_modules_old,并运行npm install来生成一个新的node_modules。在某种程度上,构建仍然会选择node_modules_old文件夹,所以我将node_modules_old从目录中移出以解决这个问题。
其他回答
由于某些原因,之前所有的答案对我都不起作用。我做了以下来解决我的问题:
我必须首先删除node_modules文件夹 在我的电脑上重新安装Node.js 然后安装NPM
如果这对某人有用的话。确保我们的Sass中没有递归。或者在最近添加的代码中使用不存在的递归。在某些情况下,超过Max堆就是一个标志。
从Node.js 12更新到Node.js 14为我解决了这个问题。
现在更新Node.js 16可用,我建议更新到Node.js的最新可用版本。
请检查你的Node.js版本:
节点- v
如果是10.1.1,那么你需要通过下面的命令更新你的根Node.js版本:
Curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash ~ / .nvm / nvm.sh来源 nvm ls NVM安装12.18.1
完成后,请重新启动终端或Visual Studio。
它可以工作100美元。
对于Ionic用户,请在package.json中添加以下代码
“ionic:build”:“node——max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build”,
当我运行angular 'ng serve'时,我也有类似的问题:
"致命错误:无效的标记-压缩接近堆限制分配失败- JavaScript堆内存不足"
在我的例子中,我发现我的Angular应用程序使用了惰性加载。一个模块已经导入到自己的路由模块,但有人做了一个导入它到应用程序模块,这导致递归(?)加载。
这会导致内存不足。