dart run
dart run
命令支持从命令行运行 Dart 程序——程序可以位于文件中、当前包中或当前包的依赖项之一中。此命令提供了以前在 pub run
和 Dart VM 工具中存在的函数。要从任意位置运行程序,请使用 pub global 命令。
dart run [选项] [<DART_FILE> | <PACKAGE_TARGET>] [参数]
以下是如何创建一个新应用并运行它的示例:
$ 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
。
启用实验性功能
#要启用当前正在开发中的新功能和增强功能,请使用 实验性标志 。
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面最后更新于 2025-02-05。 查看源代码 或 报告问题.