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.4.1
build_test: ^2.1.7
依賴項 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
命令
啟動一個建構伺服器用於監聽輸入檔案的編輯。透過處理增量重建來響應程式碼的修改。
更多資訊
如果你編寫的程式碼針對的是 Web 應用,請查閱 webdev 頁面。
你也可以透過下述連結查閱更多有關如何使用 build_runner 相關命令的資訊:
-
如果某個 Package 需要使用 build_runner,請認真閱讀該 Package 的文件。這些 Package 通常都需要依賴 build 或 build_runner。
-
build_runner 的相關文件: