对于那些从谷歌访问此问题并想要在您的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
对我来说,这就像是模块导入本身一样愚蠢:
// worker.js
import { worker } from './worker'
检查您的文件夹名称。如果您的文件夹名称带有空格,就会出现这种问题。请将其重命名为无空格。
对我来说,我遇到了这个错误,是因为我失去了对我的 angular.json 文件中 dist 文件夹设置的输出路径的访问权限。当我使用更新的凭据重新连接到远程路径后,错误消失了。
我遇到了同样的问题,在我的情况下是在安装aws-sdk之后,而不是内存空间。我通过像这篇文章中那样将导入更改为require来解决它:
当我运行Angular的“ng serve”时,遇到了类似的问题:
“致命错误:靠近堆限制的无效标记-紧凑分配失败 - JavaScript堆内存不足”
在我的情况下,我发现我的Angular应用程序使用了惰性加载。其中一个模块已经在其自身的路由模块中导入,但某人也将其引入了应用程序模块中,这导致了递归(?)加载。
这导致了内存不足。
for ...
循环中条件的不当使用导致的。而不是:for (let t = startNo; t <= endNo; t++) {}
我有:
for (let t = startNo; endNo; t++) {}