自动重载
在开发过程中重启
服务器可能需要一些时间。 Ktor 允许你通过使用自动重载来克服此限制,它可以在代码更改时重新加载应用程序类,并提供快速反馈循环。 要使用自动重载,请遵循以下步骤: 了解如何运行 Ktor 服务器应用程序。
启用开发模式
要使用自动重载,你首先需要启用开发模式。 这取决于你
创建和运行服务器
的方式: 了解如何根据你的应用程序部署需求创建服务器。
如果你使用
EngineMain
运行服务器,请在配置文件中启用开发模式。如果你使用
embeddedServer
运行服务器,你可以使用 io.ktor.development 系统属性。
启用开发模式后,Ktor 将自动监视工作目录中的输出文件。 如果需要,你可以通过指定监视路径来缩小监视文件夹的范围。
配置监视路径
当你启用开发模式时, Ktor 会开始监视工作目录中的输出文件。 例如,对于一个使用 Gradle 构建的 ktor-sample 项目,将监视以下文件夹:
监视路径允许你缩小监视文件夹的范围。 为此,你可以指定监视路径的一部分。 例如,要监视 ktor-sample/build/classes 子文件夹中的更改, 请将 classes
作为监视路径传递。 根据你运行服务器的方式,你可以通过以下方式指定监视路径:
在 application.conf 或 application.yaml 文件中,指定
watch
选项:yaml你还可以指定多个监视路径,例如:
yaml你可以在这里找到完整示例:autoreload-engine-main。
如果你正在使用
embeddedServer
,请将监视路径作为watchPaths
形参传递:Kotlin有关完整示例,请参见 autoreload-embedded-server 。