我创建了一个小型库,将所有小部件收集在一个地方。最近,我为我的身份验证页面添加了完整的逻辑(Dio、Retrofit、Repository、Manager 等),以避免每次我想创建新应用程序时重新创建此页面。
但是,例如,在我的身份验证存储库中,我正在使用 Retrofit,因此我实现了如下所示的内容:
import "package:dio/dio.dart";
import "package:retrofit/retrofit.dart";
part "authentication_repository.g.dart";
@RestApi()
abstract class AuthenticationClient {
factory AuthenticationClient(Dio dio) = _AuthenticationClient;
....
所以,我需要 build_runner 来创建 .g.dart 文件。 我将其添加到 pubspec 中:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.1
retrofit_generator: ">=7.0.0 <8.0.0"
build_runner: 2.4.12
json_serializable: 6.8.0
custom_lint: 0.6.2
我将我的库推送到 Git 并将其导入到我的主项目中。
问题是我的主项目中的 build_runner 无法为我的库中的 authrepo 生成 .g.dart 文件。
....authentication_repository.g.dart':找不到文件
我该怎么做?
谢谢
(只有当我启动我的应用程序时才会出现此错误)
看来部分和文件名应该是一样的:
import "package:dio/dio.dart";
import "package:retrofit/retrofit.dart";
part "authentication_client.g.dart"; // <- here
flutter packages pub run build_runner build --delete-conflicting-outputs