Rust in Everything
基于 dioxus 0.7.10

导读

开始读源码之前,先把两件事讲清楚:

  1. 怎么读这一卷:为什么是 0.7.10、和本站的 0.7.9 差在哪;更新、首屏、调用三条主线每一步落在哪个函数、哪一页讲;web / server / fullstack 这几个 feature 怎么让同一份代码编成 wasm 客户端和服务端两份产物,#[cfg(feature = "server")] 在哪里分叉、为什么必须是用户 crate 自己的 feature;debug_assertions 下多出来的热重载、水合调试信息和检查;阅读路线。
  2. 源码地图:工作区的 57 个 package 按层分组(核心、响应式、渲染器、fullstack、router、document/history、工具链),每组的入口文件和行数;谁依赖谁;门面 crate dioxus 怎么按 feature 重新导出、prelude 里有什么。
flowchart TB
  read[怎么读这一卷] --> ver["版本 0.7.9 和 0.7.10"]
  read --> lines[三条主线]
  read --> cfg["feature 与 cfg"]
  read --> dbg["debug_assertions"]
  map[源码地图] --> layers[按层分组]
  map --> deps[依赖关系]
  map --> facade["门面 crate 的导出"]

💬 关联讨论

发起讨论
加载中...