跳转至

使用Aqueduct Serve运行应用程序

aqueduct serve命令行工具可以运行应用程序。这个工具在项目目录下运行,它会生成一个Dart脚本来引导你的应用程序。

项目的结构确实很重要,如果你从模板中创建一个项目,适当的结构已经存在。否则,你必须确保你有一个与你的应用程序同名的库文件(在pubspec.yaml中定义)。例如,一个名为todo的应用程序必须有一个lib/todo.dart文件。这个文件必须导入声明你的应用程序的ApplicationChannel的文件。

你可以指定一些选项,如在隔离器上运行应用程序的数量和在哪个端口上监听请求。更多细节请参见 aqueduct serve --help

热重载

在Flutter中,热重载在代码变更后重新启动应用程序,但保留了应用程序的状态--比如用户在哪个屏幕上,内存中的数据是什么,等等。这对于在通常难以有效测试的环境中,加快开发周期是一个不可思议的功能。

热重载经常被要求作为Aqueduct的一个功能,但在一个不应该保留状态的HTTP API中,这并不太合理。说实话,我们的团队很少使用开发周期,这就涉及到对本地运行的实例进行频繁的代码修改。相反,我们使用package:aeduct_test来确保我们所有的测试工作都能在项目过程中持续运行的自动化测试中被捕获。

在更改后重启本地运行的应用程序的快捷方式在某些场景中是很有用的。然而,这已经是大多数IDE的现有功能,不应该由aqueduct实现。在 IntelliJ 中,这个功能被称为Rerun,macOS 中的默认快捷键是^F5。要使用这个快捷方式,请在创建新项目时,右键点击bin/main.dart脚本,然后选择Run。一旦这个进程运行后,你可以用^F5或在运行面板上的`Rerun按钮重新运行。