离线环境玩转 Tauri

2024-08-28 13:28
文章标签 环境 玩转 离线 tauri

本文主要是介绍离线环境玩转 Tauri,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

离线环境玩转 Tauri

1. Tauri 是什么

Tauri 是一个用于构建跨平台桌面应用程序的框架,它允许开发者使用前端技术(如 React、Vue、Svelte 等)来构建桌面应用程序,同时提供高性能和低资源消耗的特性。

Tauri 的核心思想是使用前端技术来构建桌面应用程序,将前端代码打包成一个独立的可执行文件,并使用 Rust 来提供后端功能,从而实现了高性能和低资源消耗的特性。而且,打包之后的可执行文件和安装包大小远小于Electron,并且运行速度更快。

Tauri 的主要特点包括:高性能、低资源消耗、跨平台支持、安全性高、易于集成等。

2. 为啥要用 Tauri

  • 采用 web 技术开发桌面应用程序,这就很爽!!
  • Tauri 不管啥web框架都支持,直接手写个html也没问题!!
  • Tauri 打包出来的可执行文件,不需要打包webview,体积小多了!!再也不会动不动大几十上百兆了。
  • Tauri 的api都是js,就算完全不懂Rust也不影响使用Tauri !!

好了,开始从零开始搭建Tauri开发环境了!
不对,是从地下室开始搭建,因为公司开发环境网络受限,访问不了外网。。。

3. Tauri 开发环境搭建 - Windows版

3.1 离线安装Microsoft Visual Studio C++ 生成工具

如果开发电脑可以联网,直接下载安装包安装即可:

下载地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/

不幸的是,微软官网的安装工具需要联网下载。。。我的开发环境没网😭

  • 找一台可以上网的电脑
  • 下载 vs_buildtools.exe
  • 下载 layout,其实就是下载安装资源文件
./vs_BuildTools.exe --layout D:\\VSLayout --add Microsoft.VisualStudio.Workload.VCTools --add  Microsoft.VisualStudio.Workload.MSBuildTools --includeRecommended
  • 将 VSLayout 目录压缩,并拷贝到无法联网的开发电脑
  • 进入VSLayout目录,安装
./vs_BuildTools.exe --noWeb --add Microsoft.VisualStudio.Workload.VCTools --add  Microsoft.VisualStudio.Workload.MSBuildTools --includeRecommended
  • 根据提示安装即可

离线按照 VS Studio 采用一样的方式就行,可以自定义选择下载部分组件,组件明细参考

3.2 离线安装 Rust 环境

如果有网的话,直接下载安装器安装,easy模式。。。

下载地址:https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe

不幸的是,安装器需要联网下载。。。我的开发环境没网😭

  • 找一台可以上网的电脑
  • 下载 rustup-init.exe
  • 双击运行安装,按照提示操作就行,简单
  • 安装完成后,将home目录(也就是C:/Users/用户名)的.cargo和.rustup打包。

    如果想减小压缩包体积,可以删除掉.rustup/toolchains/stable-x86_64-pc-windows-msvc/share/doc目录

  • 将上面两个压缩包拷贝到开发电脑,解压到对应的home目录
  • 添加.cargo/bin目录到环境变量PATH(常规操作,没有不会的吧)

至此,基本环境已经好了,可以跑 Tauri 项目了

3.3 运行 Tauri 项目模版

  • 下载 Tauri 模版项目
npm create tauri-app@latest
  • 安装依赖
npm install
  • 运行项目
npm run tauri dev

4. Tauri 开发问题

4.1 前端开发模式

通常前后端开发是分离的,前端如何基于Tauri进行开发调试?

  • tauri.conf.json 中 build.devPath直接填上前端项目地址即可,比如:http://localhost:3000
  • 前端项目启动后,再运行 npm run tauri dev,编译完成后,会生成exe
  • 将 src-tauri/target/debug下面的exe拷贝给前端同事即可,前端同事就可以在本地启动exe,就能看到前端页面了,可以打开devtools进行调试
  • 如果需要打Release包,需要tauri.conf.json 中 build.distDir填上前端项目地址,同时在Cargo.toml加上devtools
[dependencies]
tauri = { version = "1", features = ["devtools"] }

4.2 跨域问题

如果使用传统的API请求包,都会面临跨域问题,跨域问题通常可以使用CORS机制来解决

ctx.set('Access-Control-Allow-Origin', ctx.headers.origin); // 编译生产版本时,origin改成 tauri://localhost
ctx.set('Access-Control-Allow-Methods', '*')
ctx.set('Access-Control-Allow-Headers', '*')
ctx.set('Access-Control-Allow-Credentials', 'true')
  • 如果需要编译Linux版本,那这种方式会有问题,因为Linux版本不支持ctx.headers.origin
  • 所以,最好还是使用Tauri的http包来进行API请求,这样就不存在跨域的问题了
  • Tauri http包 官方示例post请求有bug,如果跑不通,看下源码。。。
  • 使用http包记得加上权限
{tauri: {allowlist: {http: {all: true,request: true,scope: ["http://**"]}}}
}

这篇关于离线环境玩转 Tauri的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114893

相关文章

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用