文章

Flutter运行build_runner

首先在pubspec.yaml中添加build_runner依赖:

dev_dependencies: build_runner:

之后运行build_runner生成器命令:

dart run build_runner build

也可以传递watch参数,实现自动监听文件变化并生成:

dart run build_runner watch

需要注意,build_runner一般是搭配json_serializable等库使用

使用时需要在类模型上添加相应注解,如:

import 'package:json_annotation/json_annotation.dart'; part 'example.g.dart'; @JsonSerializable() class Person { final String firstName, lastName; final DateTime? dateOfBirth; Person({required this.firstName, required this.lastName, this.dateOfBirth}); factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json); Map<String, dynamic> toJson() => _$PersonToJson(this); }

之后运行build_runner命令才会生成相关代码。

除了json_serializable之外还有许多其他库也需要配合build_runner使用,如freezed、hive等。

build_runner的作用是根据注解生成代码,可以理解为是一个代码生成器。

具体请在使用时参考相应库的文档。

本文由作者按照 CC BY 4.0 进行授权