如何通过auth_repository访问auth_api中的AuthFailure类(无需直接依赖)
无需添加auth_api到根pubspec,通过auth_repository间接访问的实现方法
可以实现,不需要在根目录的pubspec.yaml中添加auth_api依赖,只需要让auth_repository把auth_api中的AuthFailure类暴露出来即可,具体步骤如下:
确认auth_repository的pubspec.yaml已正确依赖auth_api(你已经完成这一步):
dependencies: auth_api: path: ../auth_api在auth_repository的公共入口文件(比如
lib/auth_repository.dart)中,导出auth_api的AuthFailure类:// 只导出需要的AuthFailure类,避免暴露多余内容 export 'package:auth_api/auth_api.dart' show AuthFailure; // 如果需要暴露auth_api中的多个类,也可以直接全量导出 // export 'package:auth_api/auth_api.dart';之后在lib/的代码中,只需导入auth_repository包,就能直接使用AuthFailure类:
import 'package:auth_repository/auth_repository.dart'; void exampleFunction() { try { // 业务逻辑 } on AuthFailure catch (failure) { // 处理AuthFailure } }
原理说明:Dart的依赖传递不会自动让上层项目访问到依赖包的内部依赖类,但通过在auth_repository中显式导出auth_api的类,相当于把这些类“转发”给了根项目,从而实现间接访问,无需在根pubspec中添加auth_api依赖。
内容的提问来源于stack exchange,提问作者sm-sayedi
相关产品推荐
相关产品推荐

