build runner库的使用

Wuba2022年10月12日大约 2 分钟

Fair 源码中用到了 build_runner,因此,本文主要介绍一下 build_runner 库的使用。

1. build_runner 库的介绍

build_runner 提供了一些用于生成文件的通用命令,这些命令中有的可以用于测试生成的文件,有的可以用于对外提供生成的文件以及它们的源代码。

build_runner 的命令需要与使用 Dart 编译系统 从输入文件生成输出文件的生成器 Package 配合使用。例如,json_serializable 与 built_value_generator 这两个 Package 共同定义了生成 Dart 代码的生成器。

Fair 源码中 FairCompiler 生成 FairDSL 就使用了 build_runner。

2. build_runner 库的使用

2.1 添加 build_runner 依赖

dev_dependencies:
  # ···
  build_runner: ^2.1.0
  build_test: ^2.1.0

依赖项 build_test 是可选的;可用于代码测试。

2.2 使用 build_runner build 命令

# 从含有 pubspec.yaml 文件的目录执行下述命令:
dart run build_runner build  # Dart SDK
flutter pub run build_runner build  # Flutter SDK

2.3 build_runner 内置命令

build_runner 中包含下述几个命令:

  • build 命令:处理一次性构建。
  • serve 命令:运行一个用于开发的服务器。可以使用 webdev serve 替代该命令,它会包含一些方便的默认功能。
  • test 命令:用于运行测试
  • watch 命令:启动一个 build server 用于监听输入文件的编辑。通过处理增量重建来响应代码的修改。

3. build_runner 如何debug

查看 Fair 源码时,对 Fair DSL 的生成感兴趣,就需要对 Fair Compile 过程 debug。下面介绍下如何对 build_runner deubg(以Android Studio为例)。

  • 执行 flutter pub run build_runner build
  • 拷贝 build.dart 文件到项目根目录下
  • 配置Run/Debug Configurations
  • 点击 debug,就可以愉快的 debug Fair Compile 的过程了。
上次编辑于:
贡献者: sunzhe03