ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Tauri 桌面应用从入门到打包的实操指南

Tauri 桌面应用从入门到打包的实操指南 Tauri 桌面应用从入门到打包的实操指南【免费下载链接】tauriBuild smaller, faster, and more secure desktop and mobile applications with a web frontend.项目地址: https://gitcode.com/GitHub_Trending/ta/tauri上周把内部 Electron 工具迁到 Tauri 后安装包从 90 多 MB 降到 11 MBRust 侧还顺手接管了文件监听逻辑。这个变化来自 Tauri 的桌面应用打包与前后端通信机制前端照常写 Web原生能力由 Rust 二进制承载窗口则复用系统 WebView。读完这篇你可以完成三件事在任意一台机器上把 Tauri 环境装好并跑通首个应用看懂tauri.conf.json里真正影响体验的几个配置项独立执行一次完整打包并处理新手最常见的三类报错先说清 Tauri 是什么Tauri 是一个用 Rust 写后端、用任意 Web 技术写界面的跨平台桌面应用框架。三个有依据的锚点体积小官方示例中应用本体只是编译出的 Rust 二进制加 WebView 中加载的 HTML/JS/CSS不打包浏览器内核零额外运行时依赖渲染分别使用 macOS/iOS 的 WKWebView、Windows 的 WebView2、Linux 的 WebKitGTK都是系统组件权限白名单前端调用原生能力需经 IPC 命令并受 capability 权限控制而非默认全部放行。环境要求与最快启动路径平台最低版本渲染组件Windows7WebView2macOS10.15WKWebViewLinuxwebkit2gtk 4.1如 Ubuntu 22.04WebKitGTK先装好 Rust 与 Node.js然后用脚手架创建项目yarn、pnpm 用户把npm换成对应包管理器即可npm create tauri-applatest进入项目目录后npm run tauri dev启动开发模式首次运行要编译全部 Rust 依赖耐心等待npm run tauri build则直接产出发布包。必须看懂的配置项所有配置集中在src-tauri/tauri.conf.json。字段很多但只有三处最直接影响你的日常{ build: { frontendDist: dist }, app: { windows: [{ width: 800, height: 600 }] }, bundle: { targets: all } }build.frontendDist管前端产物位置。怎么改填你前端构建输出目录如dist配错会怎样开发窗口白屏或发布包里是空壳。app.windows管首窗的标题与尺寸。怎么改调整width、height、resizable配错会怎样窗口过小装不下内容或启动后无法拖拽。bundle.targets管出哪些安装包。怎么改从all收窄为[dmg, appimage]配错会怎样构建出你不需要的格式白等几十分钟。下一步加一个自己的功能最典型的进阶动作是在 Rust 里加一个命令供前端调用。在src-tauri/src/main.rs中定义函数并注册到invoke_handler#[tauri::command] fn greet(name: str) - String { format!(Hello, {name}!) } tauri::Builder::default() .invoke_handler(tauri::generate_handler![greet])前端拿到invoke后一行调通invoke(greet, { name: Tauri })。注意参数名从驼峰转 snake_casename不变但user_name在前端要写userName。打包发布开发满意后执行一次打包npm run tauri build各平台安装包会落在src-tauri/target/release/bundle下Windows 出.exe/.msimacOS 出.app/.dmgLinux 出.deb/.rpm/.AppImage。只想要其中某几种就把上一节里的bundle.targets收窄。新手最常踩的三坑QLinux 上窗口打不开日志提示加载 webkit2gtk 失败大概率是版本低于 4.1。Tauri 2 需要 webkit2gtk 4.1老发行版如 Ubuntu 20.04默认是 4.0升级到满足要求的系统或源即可。Q开发窗口打开但一片白九成是frontendDist指错了。它必须是构建产物的目录dist或out指向源码目录时 WebView 加载不到入口 HTML。Qinvoke调用没反应或报command not found确认命令已经写进generate_handler![...]且前后端参数命名一致Rust 侧user_name对应前端userName。接着往哪走架构原理ARCHITECTURE.md可运行的完整示例集examples/全量配置字段tauri.config.schema.json【免费下载链接】tauriBuild smaller, faster, and more secure desktop and mobile applications with a web frontend.项目地址: https://gitcode.com/GitHub_Trending/ta/tauri创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表