严重错误:在堆限制附近无效的标记压缩导致分配失败 - Ionic 3中的JavaScript堆内存不足

563

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

JavaScript致命错误:在堆限制附近无效的标记-压缩分配失败


请查看此答案:https://dev59.com/zlkT5IYBdhLWcg3wefQn#66914674 - sidverma
46个回答

0

对于那些从谷歌访问此问题并想要在您的Dockerfile中解决此问题的非Angular一般JavaScript答案(将6144替换为您想要分配的内存量(以兆字节为单位))。

我的实现在Node.js v14.1.0下工作,并由Docker版本20.10.5、构建55c4c88在airflow v2.0.1中使用 DockerOperator执行。

FROM node:14.1.0

# Create app directory
WORKDIR /tmp/dockerspace/

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

CMD node --max-old-space-size=6144 app.js

0

对我来说,这就像是模块导入本身一样愚蠢:

// worker.js
import { worker } from './worker'

0

检查您的文件夹名称。如果您的文件夹名称带有空格,就会出现这种问题。请将其重命名为无空格。


0
如果在 Visual Studio Code 中运行 React 应用程序时出现此问题,请检查您的 propTypes,未定义的 propTypes 会导致相同的问题。

0

对我来说,我遇到了这个错误,是因为我失去了对我的 angular.json 文件中 dist 文件夹设置的输出路径的访问权限。当我使用更新的凭据重新连接到远程路径后,错误消失了。


0

0

对我来说,当我在我的React项目中使用ESLintPrettier运行时,遇到了这个问题,因为有一个大的build目录。在删除它后,一切正常了。

我猜这是因为build目录中有太多的文件。


0

当我运行Angular的“ng serve”时,遇到了类似的问题:

“致命错误:靠近堆限制的无效标记-紧凑分配失败 - JavaScript堆内存不足”

在我的情况下,我发现我的Angular应用程序使用了惰性加载。其中一个模块已经在其自身的路由模块中导入,但某人也将其引入了应用程序模块中,这导致了递归(?)加载。

这导致了内存不足。


0

我更新了我的所有库,如Node.js、TypeScript、Yarn、npm等,针对我的项目后,这个问题已经解决了。


0
在我的情况下,错误是由于在 for ... 循环中条件的不当使用导致的。而不是:
for (let t = startNo; t <= endNo; t++) {}

我有:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接