当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
对我来说,这就像模块导入自己一样愚蠢:
// worker.js
import { worker } from './worker'
其他回答
对于那些从谷歌中找到这个问题的人,一个非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模块,并运行以下命令来解决我的问题:
npm install -all
npm audit fix
如果这对某人有用的话。确保我们的Sass中没有递归。或者在最近添加的代码中使用不存在的递归。在某些情况下,超过Max堆就是一个标志。
在我的案例中,我通过安装Node.js 12.10.0版本解决了这个问题。
当我在Visual Studio Code中执行以下语句时,我得到了相同的错误消息。但是当我在Windows命令行中执行相同的东西时,我可以成功地构建。
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- 数组的indexOf函数和findIndex函数的区别
- jQuery添加必要的输入字段
- Access-Control-Allow-Origin不允许Origin < Origin >