目錄

build_runner 命令

build_runner 這個 Package 提供了一些用於產生檔案的通用命令,這些命令中有的可以用於測試產生的檔案,有的可以用於對外提供這些產生的檔案以及它們的原始碼。透過本文以及本文結尾處更多資訊中的相關連結,你可以對 build_runner 以及如何使用它有一個大概的瞭解。至於如何針對某個特定 Package 使用 build_runner,你可以參考該 Package 的相關文件。

build_runner 的命令需要與使用 Dart 編譯系統 從輸入檔案產生輸出檔案的產生器 Package 配合使用。例如,json_serializablebuilt_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.4.1
  build_test: ^2.1.7

依賴項 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 相關命令的資訊: