当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
对于我来说,我有一个语法错误(没有显示出来),并导致了这个错误。
其他回答
#!在ionic-app-scripts.js文件中的/usr/bin/env node——max-old-space-size=4096不能正常工作。
修改node_modules /。bin / ionic-app-scripts。CMD
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max_old_space_size=4096 "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
)
最后工作。
在我的案例中,我通过安装Node.js 12.10.0版本解决了这个问题。
在我的例子中,它是一个递归,导致React用完所有内存。
这发生在我重构代码时,我没有注意到这一点。
const SumComponent = () => {
return (
<>
<SumComponent />
</>
)
}
在其他Node.js应用程序中,这可能是这样的:
const someFunction = () => {
...
someFunction();
...
}
当我运行angular 'ng serve'时,我也有类似的问题:
"致命错误:无效的标记-压缩接近堆限制分配失败- JavaScript堆内存不足"
在我的例子中,我发现我的Angular应用程序使用了惰性加载。一个模块已经导入到自己的路由模块,但有人做了一个导入它到应用程序模块,这导致递归(?)加载。
这会导致内存不足。
对我来说,这就像模块导入自己一样愚蠢:
// worker.js
import { worker } from './worker'