使用Ionic 3+Firebase认证时运行ionic serve遇Zone already loaded错误
解决Ionic 3 + Firebase认证的"Zone already loaded"错误
嘿,我帮你排查过这个Zone重复加载的问题,在Ionic 3搭配Firebase的场景里挺常见的,给你几个靠谱的解决方向:
检查Zone.js的重复引入
Ionic 3的构建流程已经自动帮你引入了Zone.js,你得确认:index.html里没有手动添加<script src="zone.js"></script>这类代码package.json里没有重复安装的zone.js依赖(比如同时存在独立的zone.js包和@angular/core自带的版本),如果有,删掉多余的那个,只保留Angular依赖的版本
清理构建缓存,重新编译
缓存问题经常是罪魁祸首,按这个步骤来:- 运行
ionic cordova clean清理Ionic缓存 - 删除项目根目录的
node_modules文件夹和package-lock.json文件 - 重新执行
npm install安装依赖 - 手动删掉
www/build文件夹,再运行ionic serve
- 运行
统一Firebase初始化逻辑
别在多个地方重复初始化Firebase!比如不要同时在app.module.ts和某个页面组件里都调用firebase.initializeApp()。建议把初始化代码放在单独的服务文件里,或者只在app.module.ts的providers中配置一次。核对版本兼容性
Ionic 3对应的Angular版本是4.x-5.x,太高版本的Firebase会和旧版Zone.js冲突。可以尝试降级Firebase到适配版本,比如执行:npm install firebase@4.13.1 --save这个版本是经过很多开发者验证过的,和Ionic 3兼容性很好。
内容的提问来源于stack exchange,提问作者Zubelius
相关产品推荐
相关产品推荐

