Flutter - Build_runner 不会为我导入的包生成文件

问题描述 投票:0回答:1

我创建了一个小型库,将所有小部件收集在一个地方。最近,我为我的身份验证页面添加了完整的逻辑(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':找不到文件

我该怎么做?

谢谢

(只有当我启动我的应用程序时才会出现此错误)

flutter package build-runner
1个回答
0
投票

看来部分和文件名应该是一样的:

  1. 更改部分名称(从authentication_repository到authentication_client):
import "package:dio/dio.dart";
import "package:retrofit/retrofit.dart";

part "authentication_client.g.dart"; // <- here
  1. 运行命令:
flutter packages pub run build_runner build --delete-conflicting-outputs
© www.soinside.com 2019 - 2024. All rights reserved.