跳到主內容

dart run

dart run 命令支援從命令列執行一個 Dart 程式,該程式可以位於檔案、當前軟體包或當前軟體包的依賴項之一中。此命令提供了之前在 pub run 和 Dart VM 工具中的功能。要從任意位置執行程式,請使用 pub global 命令。

dart run [options] [<DART_FILE> | <PACKAGE_TARGET>] [args]

以下是建立新應用並執行它的示例

dart create myapp
cd myapp
dart run

執行 Dart 檔案

#

你可以透過傳遞其相對路徑來執行 Dart 檔案

dart run tool/debug.dart

執行軟體包中的程式

#

本節中的說明假定你正在從 Dart 軟體包的頂級目錄(即 當前軟體包)執行 dart run 命令。有關 Dart 軟體包目錄結構的資訊,請參閱 軟體包佈局規範

在被依賴的軟體包中

#

你可以運行當前軟體包所依賴的任何軟體包的 bin 目錄中分發的程式。要執行此類程式,請指定被依賴的軟體包名稱和程式名稱。如果程式名稱與軟體包名稱相同,則可以省略程式名稱。

例如,假設你在依賴於 bar 軟體包的軟體包的頂級目錄中。要執行 bar 軟體包中的主程式(bin/bar.dart),可以使用此命令

dart run bar

如果程式名稱與軟體包名稱不匹配,請使用 <package name>:<program name> 的形式。例如,要執行 bar 軟體包中的程式 bin/baz.dart,請使用此命令

dart run bar:baz

bin 目錄是唯一包含可見程式的地方。被依賴軟體包中的所有其他目錄都是私有的。

在當前軟體包中

#

噹噹前目錄與軟體包名稱匹配時(即,你在與 pubspec 中的 name 屬性匹配的目錄中),則可以省略軟體包名稱。如果程式名稱與軟體包名稱匹配(即,它是主程式),則也可以省略程式名稱。

這是 dart run 的最短形式,它運行當前軟體包的主程式。例如,如果你在 foo 軟體包的頂級目錄中,此命令執行 bin/foo.dart

dart run

如果程式名稱與軟體包名稱不匹配,則新增冒號和程式名稱。例如,此命令運行當前軟體包中的 bin/baz.dart

dart run :baz

要執行位於當前軟體包中但不在 bin 目錄中的程式,請傳遞相對路徑(如之前所示)

dart run tool/debug.dart

向 main() 函式提供引數

#

要向 main() 函式提供引數,請將它們放在命令末尾

dart run tool/debug.dart arg1 arg2

運行當前軟體包的主程式時,請新增軟體包名稱。以下是你在 foo 軟體包的頂級目錄中執行帶有引數的 bin/foo.dart 的示例

dart run foo arg1 arg2

除錯

#

要啟用除錯,請向你的 dart run 命令新增以下一個或多個常用除錯選項

要了解有關其他除錯選項的更多資訊,請執行 dart run --help

啟用實驗性功能

#

要啟用當前正在開發中的新功能和增強功能,請使用 實驗性標誌