Ionic项目中AngularFireStorageModule无法导入问题求助
解决AngularFireStorageModule导入问题的可行方案
我来帮你搞定这个问题,结合你当前的版本组合(firebase@4.6.0、angularfire2@5.0.0-rc.3、@angular/core@5.2.9),分两种场景给你解决方案:
方案一:在现有版本基础上适配Storage模块
你当前用的angularfire2@5.0.0-rc.3还没把Storage模块纳入核心包,所以直接导入会找不到。咱们可以升级到同系列的更高rc版本,同时匹配对应的firebase版本,不用动Angular的版本:
- 执行命令升级依赖:
这个版本组合完全兼容你的Angular5.2.9,而且已经包含了Storage模块。npm install angularfire2@5.0.0-rc.6 firebase@4.8.0 --save - 修改
app.module.ts的导入代码:import { AngularFireModule } from 'angularfire2'; // 从angularfire2/storage导入Storage模块 import { AngularFireStorageModule } from 'angularfire2/storage'; // 其他你需要的模块,比如Auth、Database等按需导入 @NgModule({ imports: [ AngularFireModule.initializeApp(你的Firebase配置对象), AngularFireStorageModule, // 添加这个模块 // 其他已有的AngularFire模块 ] }) export class AppModule { }
方案二:升级到兼容Angular5的最高稳定版本
如果想要更稳定的体验,可以升级到Angular5对应的最高angularfire2稳定版本,这个版本的兼容性和功能完整性更好:
- 执行升级命令:
npm install angularfire2@5.1.1 firebase@5.0.4 --save - 导入Storage模块的方式和方案一完全一致,这里就不重复了。
- 关于你提到的“未使用导入”问题:
在这个版本里,不需要直接从firebase/app导入app, auth, database这些模块,angularfire2已经把这些功能封装成了对应的Angular模块(比如AngularFireAuthModule、AngularFireDatabaseModule),直接导入这些Angular模块就可以用了。所以那些标记为未使用的导入语句可以直接删掉,避免编辑器报错。
重要提醒
千万别直接升级到最新版的@angular/fire(原angularfire2),最新版本只支持Angular12及以上版本,和你的Angular5完全不兼容,会导致一堆编译错误。如果升级后出现依赖冲突,可以试试删除node_modules和package-lock.json,然后重新执行npm install。
内容的提问来源于stack exchange,提问作者NicoleZ
相关产品推荐
相关产品推荐

