当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
窗户
从控制面板进入系统→高级系统设置→环境变量→新建(用户或系统)
或者这可以在PowerShell中完成:
$env:NODE_OPTIONS="--max-old-space-size=8192"
如果需要,还可以增加这个数字。我们已经看到一些人需要增加到14gb的一些更大的项目!
Linux/macOS
export NODE_OPTIONS=--max-old-space-size=8192
其他回答
在我的案例中,我通过安装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
另一个非angular的答案(我在AWS Amplify上构建React应用时也遇到了同样的问题)。
正如Emmanuel所提到的,这似乎来自Node.js v10和Node.js v12处理内存的方式的差异。
我试着增加记忆,但没有用。但是使用Node.js v12做到了。
根据richard的解释,检查如何将nvm use $VERSION_NODE_12添加到构建设置中
前端: 阶段: preBuild: 命令: - nvm使用$VERSION_NODE_12 - NPM ci 构建: 命令: - nvm使用$VERSION_NODE_12 - node -v - NPM运行脚本构建
我想有很多方法可以达到这个错误!
在我这边,我的package.json中有一个循环。项目A依赖于项目B,项目B又依赖于项目A。
在我的例子中,错误是由于在for中不恰当地使用条件引起的。循环。而不是:
for (let t = startNo; t <= endNo; t++) {}
我有:
for (let t = startNo; endNo; t++) {}
推荐文章
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?