跳到主要內容

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

如果程式名稱與套件名稱不符,請使用 <套件名稱>:<程式名稱> 格式。例如,若要執行 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 命令

  • 若要啟用 assert 陳述式,請新增 --enable-asserts 標記

    $ dart run --enable-asserts tool/debug.dart
  • 若要透過 Dart DevTools 啟用除錯和效能分析,請新增 --observe 標記

    $ dart run --observe tool/debug.dart

    若要瞭解關於使用 Dart DevTools 進行除錯的更多資訊,請參閱使用 DevTools 搭配命令列應用程式

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

啟用實驗性功能

#

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