You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:50:57