当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
在我的例子中,错误是由于在for中不恰当地使用条件引起的。循环。而不是:
for (let t = startNo; t <= endNo; t++) {}
我有:
for (let t = startNo; endNo; t++) {}
其他回答
我在CentOS服务器7上也有同样的问题,但这解决了我的问题:
node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod
其中X =(2048或4096或8192 o..)是内存的值。
我删除了现有的Node.js模块,并运行以下命令来解决我的问题:
npm install -all
npm audit fix
对于那些从谷歌中找到这个问题的人,一个非angular的一般答案是:
大多数情况下,当你遇到这个错误时,可能是因为内存泄漏,库的添加/版本升级或Node.js在版本之间管理内存的方式不同(例如Node.js版本<= 10和Node.js版本> 10)。
通常只是增加分配给node .js的内存就可以让你的程序运行,但实际上可能并不能解决真正的问题,节点进程使用的内存仍然可能超过你分配的新内存。我建议在Node.js进程开始运行或更新到Node.js > 10时分析内存使用情况。
我有内存泄漏。 这是一篇关于在Node.js中调试内存泄漏的很棒的文章。
也就是说,为了增加内存,在运行Node.js进程的终端中:
export NODE_OPTIONS="--max-old-space-size=8192"
max-old-space-size的值可以是:[2048,4096,8192,16384]等等
为了进一步清晰,还有更多例子:
export NODE_OPTIONS="--max-old-space-size=5120" # Increase to 5 GB
export NODE_OPTIONS="--max-old-space-size=6144" # Increase to 6 GB
export NODE_OPTIONS="--max-old-space-size=7168" # Increase to 7 GB
export NODE_OPTIONS="--max-old-space-size=8192" # Increase to 8 GB
# and so on...
# formula:
export NODE_OPTIONS="--max-old-space-size=(X * 1024)" # Increase to X GB
# Note: it doesn't have to be multiples of 1024.
# max-old-space-size can be any number of memory megabytes (MB) you have available.
查看max-old-space-size的当前值(单位:MB)
要查看max-old-space-size(以MB为单位)的当前值(不精确但非常接近),请在终端中运行
node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
在我的案例中,我通过安装Node.js 12.10.0版本解决了这个问题。
#!在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" %*
)
最后工作。
推荐文章
- 检测用户何时离开网页的最佳方法?
- 当“模糊”事件发生时,我如何才能找到哪个元素的焦点去了*到*?
- React不会加载本地图像
- 如何将Blob转换为JavaScript文件
- 在另一个js文件中调用JavaScript函数
- 如何在svg元素中使用z索引?
- 如何求一个数的长度?
- 跨源请求头(CORS)与PHP头
- 如何用Express/Node以编程方式发送404响应?
- parseInt(null, 24) === 23…等等,什么?
- JavaScript变量声明在循环外还是循环内?
- 元素在“for(…in…)”循环中排序
- 在哪里放置JavaScript在HTML文件?
- 什么时候.then(success, fail)被认为是承诺的反模式?
- 从浏览器下载JSON对象作为文件