【Tauri2】001——安装及运行

前言

笔者其实不想写教程,写教程很麻烦。

但是网上关于Tauri2的教程,要么不全,要么是Tauri1的,真的太少了,虽然有官网,还是太少了。

问Ai,也感觉比较离谱,有很多时候,Ai给出的是Tauri1的代码,在tauri2,不能用,对于tauri2也回答的不知所云。

总之,很痛苦。

因此,笔者决定写写教程,

顺便加强自己的理解。

介绍Tauri

Tauri,笔者的理解中,认为和Eletron差不多,能兼容前端框架,比如Nuxt,Next等。

将开发好的前端打包成桌面程序或者移动端的程序

说白了,一言以蔽之,Tauri能够把前端变成可执行文件的库。

使用的主要语言及前置条件

1、Rust

2、JavaScript/TypeScript

教程主要的内容是对Tauri2在后端Rust的使用,对于前端的框架,不做过多解释。

需要安装Rust环境,特别是Cargo,参考如下

安装 - Cargo 指南 - Rust 编程语言https://doc.rust-lang.net.cn/cargo/getting-started/installation.html#install-rust-and-cargo对于不同的操作系统,需要一些条件

先决条件 | Tauri 中文网https://tauri.nodejs.cn/start/prerequisites/可根据自己的操作系统,参考配置。

安装

快速创建

可以使用Cargo或者其他前端的包管理工具,笔者使用pnpm

pnpm create tauri-app@latest

第一个填写——项目的名字

第二个填写——标识符(identifier)

第三个选择——前端使用的语言(Rust,TS/JS等)

第四个选择——包管理工具(pnpm、yarn等)

第五个选择——前端的模板(Vue,Reac等)

第六个选择——使用的UI风格,JS还是TS

笔者的选择如下

手动创建

1、创建前端框架

笔者先使用vite创建React项目test1

2、安装Tauri的命令行工具包

进入test1项目,安装Tauri 官方提供的命令行工具包

pnpm add -D @tauri-apps/cli@latest

3、初始化Tauri

pnpm tauri init

 需要回答一些问题,app的名字,开发命令,构建命令等之类的包,这不重要,因为回答的结果会

写在配置文件tauri.conf.json中,打错了,也可以改。

最后大致的目录结构如下


运行

要想启动项目,先不慌。

先了解一下,有那些命令,参考如下。

Command Line Interface | Taurihttps://tauri.app/reference/cli/

    tauri dev  启动项目

    tauri build 打包项目,后面 --debug 可以在打包后进行调试

    tauri init 初始化tauri项目

    tauri add <plugin>  增加插件

    tauri  remove <plugin> 移除插件

    tauri plugin 管理或创造插件

    tauri plugin new 初始化一个新的Tauri插件项目

     有很多命令,需要用的时候再说。

    因此,要想启动项目,运行如下命令

    pnpm run tauri dev

    修改package.json文件中的sciript

      "scripts": {"dev": "vite","build": "vite build","lint": "eslint .","preview": "vite preview","tauri:dev": "tauri dev"},

    因为vite默认的端口号是5173,修改tauri.conf.json中的build中的devUrl的端口号也为5173。

    意思很容易理解

    frontendDist:前端打包的输出文件

    devUrl:前端开发运行的url

    beforeDevCommand:tauri dev之前的命令。

    beforeBuildCommand:tauri build之前的命令

    可以变化的。

    结果如下

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39175.html

    如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    【DFS】羌笛何须怨杨柳,春风不度玉门关 - 4. 二叉树中的深搜

    本篇博客给大家带来的是二叉树深度优先搜索的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚. &#x1f40e;文章专栏: DFS &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的…

    操作系统导论——第13章 抽象:地址空间

    一、早期系统 从内存来看&#xff0c;早期的机器并没有提供多少抽象给用户。基本上&#xff0c;机器的物理内存如图13.1所示 操作系统曾经是一组函数&#xff08;实际上是一个库&#xff09;&#xff0c;在内存中&#xff08;在本例中&#xff0c;从物理地址0开始&#xff09;&…

    网络爬虫-2:基础与理论

    一.同步加载与异步加载 1.1同步加载定义: 页面所有内容一起加载出来,当某一个数据加载有问题,整个页面就不会加载出来(如HiFiNi音乐网站),所以又叫阻塞模式 1.2爬取步骤: 看netword->document 2.1异步加载定义: 数据是分开加载的,当某一份数据有异常时,不影响其他数据…

    【Docker系列五】Docker Compose 简介

    &#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

    本地安装deepseek大模型,并使用 python 调用

    首先进入 ollama 官网 https://ollama.com/点击下载 下载完成后所有都是下一步&#xff0c;就可以 点击搜索 Models &#xff1a; https://ollama.com/search然后点击下载&#xff1a; 选择后复制: ollama run deepseek-r1:32b例如&#xff1a; 让它安装完成后&#xff1…

    【CC2530 教程 二】CC2530定时器实现微秒、毫秒、秒延时函数

    目录 一、CC2530定时器&#xff1a; 二、CC2530定时器&#xff1a; &#xff08;1&#xff09;定时器1&#xff08;Timer1&#xff09;&#xff1a; &#xff08;2&#xff09;定时器2&#xff08;Timer2&#xff09;&#xff1a; &#xff08;3&#xff09;定时器3和定时…

    23种设计模式-创建型模式-工厂方法

    文章目录 简介场景问题1. 直接依赖具体实现2. 违反开闭原则3. 条件分支泛滥4. 代码重复风险 解决根本问题完整类图完整代码说明核心优势代码优化静态配置表动态策略 总结 简介 工厂方法是一种创建型设计模式&#xff0c;它提供了在父类中创建对象的接口&#xff0c;但允许子类…

    Umi-OCR- OCR 文字识别工具,支持截图、批量图片排版解析

    Umi-OCR 是免费开源的离线 OCR 文字识别软件。无需联网&#xff0c;解压即用&#xff0c;支持截图、批量图片、PDF 扫描件的文字识别&#xff0c;能识别数学公式、二维码&#xff0c;可生成双层可搜索 PDF。内置多语言识别库&#xff0c;界面支持多语言切换&#xff0c;提供命令…

    【JavaEE】Mybatis基础使用注解 增删改查操作

    目录 一、配置日志二、传递参数 #{}三、增(Insert)四、返回主键Options五、删&#xff08;Delete&#xff09;六、改&#xff08;Update&#xff09;七、查&#xff08;Select&#xff09; 一、配置日志 我们加上下面的代码在配置文件中&#xff0c;那么我们在日志中就可以看到…

    4.2、网络安全体系与建设内容

    目录 网络安全体系架构网络安全组织安全管理网络安全等级保护2.0等保项目流程等保标准变化等保2.0新增内容等保2.0变化智慧城市安全体系应用参考智能交通网络安全体系应用参考 网络安全体系架构 建设网络安全&#xff0c;要体系化&#xff0c;要从一个整体去做考虑&#xff0c…

    TCP协议原理

    TCP协议原理 本篇介绍 前面已经基本介绍了TCP编程的接口以及基本的步骤&#xff0c;但是并没有其中的原理进行解释。本篇主要聚焦于TCP原理部分&#xff0c;对TCP中重要的内容进行解释 TCP协议报格式 基本示意图如下&#xff1a; 下面针对每一个字段的作用进行简要的概括&a…

    go中的文件、目录的操作

    1.文件的概念 文件是数据源(保存数据的地方)的一种,比如大家经常使用的word文档,txt文件,excel文件等。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频,声音等。 文件在程序中以流的形式来操作的。 流:数据在数据源(文件)和程序(内存)之间…

    electron js node vscode 调试electron

    用npm会下到home里面不知道为什么可能是淘宝源的问题 --------------------------------- 安装cnpm&#xff08;可选&#xff09; sudo npm install -g cnpm --registryhttps://registry.npmmirror.com下下来还没办法直接用 sudo find / -name "cnpm"nano ~/.bashr…

    深度解析 BPaaS:架构、原则与研发模式探索

    在当今复杂多变的业务环境下&#xff0c;软件开发面临着诸多挑战&#xff0c;如何有效地管理业务复杂性并实现系统的可扩展性成为关键。BPaaS应运而生&#xff0c;它作为一种创新的理念和架构模式&#xff0c;改变着企业研发的方式。本文将深入探讨 BPaaS 是什么&#xff0c;以…

    大模型架构记录2 【综述-相关代码】

    一 简单聊天机器人搭建 1.1 openai调用 import os from openai import OpenAI from dotenv import load_dotenv, find_dotenvload_dotenv() client OpenAI()# 打印所支持的模型 model_lst client.models.list()for model in model_lst:print (model.id)# 调用API接口 comp…

    三个print优雅打印datetime模块的“时间密码”

    三个模块&三条print()&#xff0c;玩转python时间的上上下下&#xff0c;优雅打印“时间密码”。 笔记模板由python脚本于2025-03-23 22:50:43创建&#xff0c;本篇笔记适合正确研究时间/日期的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出…

    【Android】VehiclePropertyAccess引起CarService崩溃

    VehiclePropertyAccess引起CarService崩溃 VehiclePropertyAccess VehiclePropertyAccess属性&#xff0c;用于定义车辆属性的访问权限。权限包括 读&#xff1a;READ&#xff0c;只可以读取&#xff0c;不能写入。 VehiclePropertyAccess:READ写&#xff1a;WRITE&#xf…

    深入理解traceroute命令及其原理

    traceroute 是一个网络诊断工具&#xff08;Windows上叫tracert&#xff09;&#xff0c;用于显示数据包从本地主机到远程主机经过的路由&#xff08;跳数&#xff09;。它可以帮助您了解数据包在网络中的传输路径&#xff0c;以及每跳的延迟情况。这对于网络故障排除、分析网络…

    Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!

    一、引言&#xff1a;自动化测试的“瓶颈”与MCP的革新 传统自动化测试依赖开发者手动编写脚本&#xff0c;不仅耗时且容易因页面动态变化失效。例如&#xff0c;一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑&#xff0c;甚至反复调试超时问题。而MCP&#xf…

    JVM 学习前置知识

    JVM 学习前置知识 Java 开发环境层次结构解析 下图展示了 Java 开发环境的层级关系及其核心组件&#xff0c;从底层操作系统到上层开发工具&#xff0c;逐步构建完整的开发与运行环境&#xff1a; 1. 操作系统&#xff08;Windows, MacOS, Linux, Solaris&#xff09; 作用&…