跳到主要内容

build_runner

build_runner 包提供了用于生成文件的通用命令,包括测试生成的文件或同时服务源文件和生成的文件。本页面解释了如何使用 build_runner。要了解如何在特定包中使用 build_runner,请参阅该包的文档。

build_runner 命令与构建器(builder)一起工作——构建器是使用 Dart 构建系统从输入文件生成输出文件的包。例如,json_serializablebuilt_value_generator 包定义了生成 Dart 代码的构建器。

尽管 Dart 构建系统是反射(存在性能问题)和宏(Dart 编译器不支持)的良好替代方案,但它不仅限于读取和写入 Dart 代码。例如,sass_builder 包实现了一个构建器,可以从 .scss.sass 文件生成 .css 文件。

设置 build_runner

#

要使用 build_runner,请在你的应用的 pubspec 中添加对 build_runner开发依赖

yaml
dev_dependencies:
  # ···
  build_runner: ^2.4.15
  build_test: ^2.2.3

依赖 build_test 是可选的;如果你要测试代码,请添加此依赖。

像往常一样,在修改 pubspec.yaml 后,运行 dart pub getdart 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来替代直接使用此命令,webdev serve 具有方便的默认行为。
test
运行测试。
watch
启动构建服务器,监听输入文件的编辑。通过执行增量重建来响应更改。

更多信息

#

如果你正在开发 Web 特定代码,请参阅webdev 页面。

有关使用 build_runner 的详细信息,请参阅以下内容