Tauri Debug
在本文中我们将详细讲解在各平台如何debug tauri项目。
Tauri 程序是使用 Tauri 工具包构建的桌面应用程序。Tauri 是一个开源的应用构建工具包,可用将使用 Web 技术(HTML、CSS 和 JavaScript)构建程序包装成桌面应用程序。
1. 了解Tauri项目结构
在进行Tauri Debug之前, 我需要了解一个Tauri项目的典型结构。
在我的博客使用Tauri和Angular创建桌面应用程序中详细解剖了一个典型的应用程序结构如下:
1 | your_project_name # 项目名称 |
从以上结构我们可以看出,一个典型Tauri项目一般分为两部分:
- src
第一部分是位于src下的前端代码,包括HTML,样式文件和js或ts脚本,其允许在webview中,其作用是用来展现应用视图,以及与用户进行交互;
- src-tauri
第二部分是位于src-tauri部分, 这部分代码主要是使用Rust编写,最终也运行在终端上,如桌面端和移动端。
其有多种作用,首先其相当前端应用的壳,将前端程序包装成特定平台的应用程序,并负责与前端平台例如(Windows, Linux, Macos, Android, iOS)进行交互。
其二, 它也可用与前端应用程序进行交互,以增强前端应用程序的功能。由于前端应用只允许运行在webview上,其功能受到很大限制, 而src-tauri编译出来的应用程序运行在操作系统上和native应用具有相同的权限,具有更强的与系统交互的能力。
其三, src-tauri部分也可以直接与后端程序进行交互。
而debug这两部分代码的方式是不同的。多数情况下我们debug前端程序我们需要借助devtool工具;而debug src-tauri我们需要借助Rust相关debug工具。
2. 前端debug
2.1. 开发阶段debug
在开发过程中,我们可以使用debug选项启动项目。关于tauri命令详解, 可以参考我的文档Tauri cli详解
1 |
|
系统将会打开应用程序,在应用程序界面右键菜单,选择检查(inspect)打开Devtools进行debug, 后续操作跟浏览器上debug几乎一样,这里就不详细展开来讲了。
2.2. 测试环境debug
有时我们的应用发布到测试环境例如QA环境,或者UAT环境后依然会出错,此时如何进行debug呢?
如果在打包时带上debug选项,生成的应用程序是支持debug的。
1 |
|
将应用在测试环境安装并打开, 在右键菜单中会存在检查(inspect), 点击检查菜单即可打开Devtools程序进行debug。
3. src-tauri debug
创建一个.vscode/launch.json文件,并将以下json内容粘贴到其中:
1 |
|
这启动脚本直接使用cargo来构建Rust应用程序,并在开发和生产模式中加载它。
请注意,它不使用Tauri CLI,因此不执行独占CLI功能。beforeDevCommand和beforeBuildCommand脚本必须事先执行,或者在preLaunchTask字段中配置为任务。下面是一个示例.vscode/tasks.json文件,它有两个任务,一个用于生成开发服务器的beforeDevCommand,另一个用于beforeBuildCommand:
.vscode/tasks.json
1 |
|
现在,您可以在src-tauri/src/main.rs或任何其他Rust文件中设置断点,并按F5键开始调试
4. 参考文档
Tauri Debug