build_runner 命令
build_runner 这个 Package 提供了一些用于生成文件的通用命令,这些命令中有的可以用于测试生成的文件,有的可以用于对外提供这些生成的文件以及它们的源代码。通过本文以及本文结尾处更多信息中的相关链接,你可以对 build_runner 以及如何使用它有一个大概的了解。至于如何针对某个特定 Package 使用 build_runner,你可以参考该 Package 的相关文档。
build_runner 的命令需要与使用 Dart 编译系统 从输入文件生成输出文件的生成器 Package 配合使用。例如,json_serializable 与 built_value_generator 这两个 Package 共同定义了生成 Dart 代码的生成器。
Dart 的编译系统是反射(目前还有些性能问题)和宏指令(Dart 编译器还不支持)的替代方案,它可以做的不仅仅是用于读写 Dart 代码。例如,sass_builder
这个 Package
实现了用于从 .scss 和 .sass 文件生成
.css 文件的生成器。
build_runner 设置
#在你应用 pubspec 文件的 dev dependency 层添加 build_runner 依赖以开启使用 build_runner:
dev_dependencies:
# ···
build_runner: ^2.8.0
build_test: ^3.4.0
依赖项 build_test 是可选的;但是它可以让你测试你的代码。
像往常一样在你修改了 pubspec.yaml 文件后,记得运行 dart pub get 或 dart pub upgrade 命令以令修改生效:
$ dart pub get
使用内置命令
#下面是使用 build_runner 中 build 命令的示例:
$ # From a directory that contains a pubspec.yaml file:
$ dart run build_runner build
build_runner 中包含下述几个命令:
build 命令:
处理一次性构建。
serve 命令:运行一个用于开发的服务器。你可以使用 webdev serve 替代该命令,它会包含一些方便的默认功能。
test 命令
用于运行 测试。
watch 命令
启动一个构建服务器用于监听输入文件的编辑。通过处理增量重建来响应代码的修改。
更多信息
#-
webdev 指南(适用于开发 Web 特定的代码)
-
build_runner 指南