当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:
当前回答
这个问题在我为我的项目更新了我的所有库,如Node.js, TypeScript, Yarn, npm等之后就消失了。
其他回答
对我来说,这就像模块导入自己一样愚蠢:
// worker.js
import { worker } from './worker'
添加参数——build-optimizer解决了我的问题:
Node——max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build——prod——构建优化器
我不知道为什么添加only——build-optimizer可以解决这个问题,但根据Angular文档,它应该在启用AOT编译的情况下使用,所以更新后的命令应该如下所示:
--build-optimizer=true --aot=true
Angular构建文档
我在CentOS服务器7上也有同样的问题,但这解决了我的问题:
node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod
其中X =(2048或4096或8192 o..)是内存的值。
如果你在Windows上开发,在发布时遇到这个问题,请通过官方网站升级Node.js。
每更新一个Node.js版本,内存使用处理都会增加,尽管我没有找到确切的增加数字。
这是唯一对我有效的解决办法。我花了整整一个周末甚至更长的时间才解决这个问题。
窗户
从控制面板进入系统→高级系统设置→环境变量→新建(用户或系统)
或者这可以在PowerShell中完成:
$env:NODE_OPTIONS="--max-old-space-size=8192"
如果需要,还可以增加这个数字。我们已经看到一些人需要增加到14gb的一些更大的项目!
Linux/macOS
export NODE_OPTIONS=--max-old-space-size=8192
推荐文章
- 如何为Firebase构建云函数,以便从多个文件部署多个函数?
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- ES6/2015中的null安全属性访问(和条件赋值)
- 与push()相反;
- JS字符串“+”vs concat方法
- AngularJS使用ng-class切换类
- 访问Handlebars.js每次循环范围之外的变量