From c54d4677302a6bafcd9185fd3340fb59f94c6047 Mon Sep 17 00:00:00 2001 From: YuKun Liu <41265098+mrxiaozhuox@users.noreply.github.com> Date: Wed, 29 Jun 2022 16:40:23 +0800 Subject: [PATCH] feat: set `port` configurable --- src/cli/cfg.rs | 5 +++++ src/cli/serve/mod.rs | 2 +- src/server/mod.rs | 14 ++++++-------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/cli/cfg.rs b/src/cli/cfg.rs index 73f9570d4..9fe453c49 100644 --- a/src/cli/cfg.rs +++ b/src/cli/cfg.rs @@ -40,6 +40,11 @@ pub struct ConfigOptsServe { #[clap(parse(from_os_str))] pub target: Option, + /// Port of dev server + #[clap(long)] + #[clap(default_value_t = 8080)] + pub port: u16, + /// Build a example [default: ""] #[clap(long)] pub example: Option, diff --git a/src/cli/serve/mod.rs b/src/cli/serve/mod.rs index 5511845cb..5528ebade 100644 --- a/src/cli/serve/mod.rs +++ b/src/cli/serve/mod.rs @@ -69,7 +69,7 @@ impl Serve { Serve::regen_dev_page(&crate_config)?; // start the develop server - server::startup(crate_config.clone()).await?; + server::startup(self.serve.port, crate_config.clone()).await?; Ok(()) } diff --git a/src/server/mod.rs b/src/server/mod.rs index 387355ee9..096b07cc0 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -50,16 +50,16 @@ struct WsReloadState { update: broadcast::Sender<()>, } -pub async fn startup(config: CrateConfig) -> Result<()> { +pub async fn startup(port: u16, config: CrateConfig) -> Result<()> { if config.hot_reload { - startup_hot_reload(config).await? + startup_hot_reload(port, config).await? } else { - startup_default(config).await? + startup_default(port, config).await? } Ok(()) } -pub async fn startup_hot_reload(config: CrateConfig) -> Result<()> { +pub async fn startup_hot_reload(port: u16, config: CrateConfig) -> Result<()> { log::info!("🚀 Starting development server..."); let dist_path = config.out_dir.clone(); @@ -179,7 +179,6 @@ pub async fn startup_hot_reload(config: CrateConfig) -> Result<()> { } // start serve dev-server at 0.0.0.0:8080 - let port = "8080"; log::info!("📡 Dev-Server is started at: http://127.0.0.1:{}/", port); let file_service_config = config.clone(); @@ -242,7 +241,7 @@ pub async fn startup_hot_reload(config: CrateConfig) -> Result<()> { Ok(()) } -pub async fn startup_default(config: CrateConfig) -> Result<()> { +pub async fn startup_default(port: u16, config: CrateConfig) -> Result<()> { log::info!("🚀 Starting development server..."); let dist_path = config.out_dir.clone(); @@ -289,8 +288,7 @@ pub async fn startup_default(config: CrateConfig) -> Result<()> { .unwrap(); } - // start serve dev-server at 0.0.0.0:8080 - let port = "8080"; + // start serve dev-server at 0.0.0.0 log::info!("📡 Dev-Server is started at: http://127.0.0.1:{}/", port); let file_service_config = config.clone();