导读
开始读源码之前,先把两件事讲清楚:
- 怎么读这一卷:为什么是这三个版本;启动、调用、事件三条主线每一步落在哪个函数、哪一页讲(顺带纠正了几处容易想当然的顺序:窗口是在事件循环跑起来之后才建的,
emit先送 JS 再送 Rust);custom-protocol这个 feature 怎么经过两个构建脚本变成应用 crate 里的cfg(dev);debug_assertions下多出来的 ACL 详细拒绝信息、devtools 和压缩级别;阅读路线。 - 源码地图:tauri 工作区和 wry、tao 按层分组(编译期、运行时抽象、平台层、本体、工具),每层的入口文件和行数;注入页面的那几段 JS 在哪里、怎么被编进二进制。
flowchart TB read[怎么读这一卷] --> ver[锁定版本] read --> lines[三条主线] read --> cfg["feature 与 cfg"] read --> dbg["debug_assertions"] map[源码地图] --> layers[按层分组] map --> entry[各层入口] map --> js["注入的 JS"]
💬 关联讨论
发起讨论加载中...