有没有办法将生成的文件放在flutter中的一个单独的文件夹中



在我的应用程序中,我使用带有json_serializable的freezed。在我放置所有数据模型的文件夹中,有许多生成的文件,如model.g.dartmodel.freeezed.dart。是否有可能将所有生成的类似文件移动到项目中的单独文件夹中,如generated

根据build_runner文档

flutter pub run build_runner build --output <dirname>

flutter pub run build_runner build --output models:<directory name>

只输出型号目录

下面是stackoverlow的工作示例:

基本上创建这样的build.yaml文件,它将在generated文件夹中生成文件:

targets:
$default:
builders:
source_gen|combining_builder:
generate_for:
- lib/**.dart
options:
build_extensions:
'^lib/{{}}.dart': 'lib/generated/{{}}.g.dart'
freezed|freezed:
enabled: true
options:
build_extensions:
'^lib/{{}}.dart': 'lib/generated/{{}}.freezed.dart'

不要忘记将generated添加到part

import 'package:freezed_annotation/freezed_annotation.dart';
part 'generated/person.g.dart';
part 'generated/person.freezed.dart';
@freezed
class Person with _$Person {
const factory Person({
required String firstName,
required String lastName,
required int age,
}) = _Person;
factory Person.fromJson(Map<String, Object?> json)
=> _$PersonFromJson(json);
}

相关内容

  • 没有找到相关文章

最新更新