跳到主要内容

build_runner

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

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

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

设置 build_runner

#

要使用 build_runner,请将 build_runnerdev dependency 添加到您的应用的 pubspec

yaml
dev_dependencies:
  # ···
  build_runner: ^2.4.13
  build_test: ^2.2.2

依赖 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, 而不是直接使用此命令,它具有方便的默认行为。
test
运行 测试。
watch
启动一个构建服务器,该服务器监视对输入文件的编辑。通过执行增量重建来响应更改。

更多信息

#

如果您正在处理特定于 Web 的代码,请参阅 webdev 页面。

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