浏览代码

added hot-reload as config option with default to true (#2024)

Robin Tretter 1 年之前
父节点
当前提交
8eda67ecb2

+ 3 - 0
examples/openid_connect_demo/Dioxus.toml

@@ -14,6 +14,9 @@ out_dir = "dist"
 # resource (static) file folder
 asset_dir = "public"
 
+# hot reload by default
+hot_reload = true
+
 [web.app]
 
 # HTML title tag content

+ 8 - 0
packages/cli-config/src/config.rs

@@ -176,6 +176,7 @@ impl Default for DioxusConfig {
                 default_platform: default_platform(),
                 out_dir: out_dir_default(),
                 asset_dir: asset_dir_default(),
+                hot_reload: hot_reload_default(),
 
                 #[cfg(feature = "cli")]
                 tools: Default::default(),
@@ -226,6 +227,9 @@ pub struct ApplicationConfig {
     #[serde(default = "asset_dir_default")]
     pub asset_dir: PathBuf,
 
+    #[serde(default = "hot_reload_default")]
+    pub hot_reload: bool,
+
     #[cfg(feature = "cli")]
     #[serde(default)]
     pub tools: std::collections::HashMap<String, toml::Value>,
@@ -242,6 +246,10 @@ fn default_platform() -> Platform {
     Platform::Web
 }
 
+fn hot_reload_default() -> bool {
+    true
+}
+
 fn asset_dir_default() -> PathBuf {
     PathBuf::from("public")
 }

+ 4 - 1
packages/cli/src/assets/dioxus.toml

@@ -14,6 +14,9 @@ out_dir = "dist"
 # resource (static) file folder
 asset_dir = "public"
 
+# hot reload by default
+hot_reload = true
+
 [web.app]
 
 # HTML title tag content
@@ -71,4 +74,4 @@ short_description = "An amazing dioxus application."
 # Bundle long description
 long_description = """
 An amazing dioxus application.
-"""
+"""

+ 2 - 1
packages/cli/src/cli/serve.rs

@@ -19,7 +19,8 @@ impl Serve {
         let serve_cfg = self.serve.clone();
 
         // change the relase state.
-        crate_config.with_hot_reload(self.serve.hot_reload);
+        let hot_reload = self.serve.hot_reload || crate_config.dioxus_config.application.hot_reload;
+        crate_config.with_hot_reload(hot_reload);
         crate_config.with_cross_origin_policy(self.serve.cross_origin_policy);
         crate_config.with_release(self.serve.release);
         crate_config.with_verbose(self.serve.verbose);