当前位置: 首页 > news >正文

Tauri教程-基础篇-第一节 Tauri项目创建及结构说明

请添加图片描述

“如果结果不如你所愿,就在尘埃落定前奋力一搏。”——《夏目友人帐》
“有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。”——《十宗罪》
“维持现状意味着空耗你的努力和生命。”——纪伯伦

Tauri 技术教程 * 第四章 Tauri的基础教程
第一节 项目创建及结构说明

推荐

Koi技术教程-Tauri-第二章 Tauri的业务架构
Koi技术教程-Tauri-第三章 Tauri的搭建环境

一. 概述

这一章节,我们来了解下如何创建一个Tauri的项目,熟悉下它的目录结构,以及如何运行和发布。

官方文档:https://tauri.app/start/create-project/

二. 创建项目

官方提供了一个“create-tauri-app ”工具来帮助我们创建一个基础版本的项目。

create-tauri-app 目前包含以下模板:无框架(纯HTML、CSS and JavaScript)、Vue.js、Svelte、React、SolidJS、Angular、Preact、Yew、Leptos 和 Sycamore。您还可以在 Awesome Tauri 仓库中找到或添加您自己的社区模板和框架。

当然若想在自己的前端项目中使用Tauri也是可以的,您可以 将 Tauri 添加到现有的项目中 以便快速地将现有代码库转换为 Tauri 应用。

1. 使用 create-tauri-app

1. 创建项目

这里使用 pnpm来创建项目,其他方式可参见官方文档:

pnpm create tauri-app

2. 选择适合自身项目的模板

✔ Project name · tauri-app01
✔ Identifier · com.tauri-app01.app
✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, deno, bun)
✔ Choose your package manager · pnpm
✔ Choose your UI template · Vue - (https://vuejs.org/)
✔ Choose your UI flavor · TypeScript

3. 安装项目依赖

// cd 到项目目录下
cd tauri-app01
// 使用pnpm 安装项目依赖 为了保证安装速录可以设置仓库源  
// pnpm config set registry https://registry.npmmirror.com
pnpm i

2. 使用 Tauri CLI

此方式主要用于在现有的项目中添加tauri,(现有的项目是前端的项目,不要辖理解)

1. 安装cll依赖包

包管理器安装 Tauri 的 CLI 工具

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

2. 确认服务器的 URL

确定您的前端开发服务器的 URL。这个 URL 是 Tauri 用来加载您的内容的地址。例如,如果您正在使用 Vite,那么默认的 URL 是 http://localhost:5173

这里需要考虑你项目的访问不要有前缀,当然你也可以修改它以满足要求

3. 初始化Tauri项目配置

在项目的根目录下:

pnpm tauri init

过程中你需要选择一些内容:

✔ What is your app name? tauri-app01
✔ What should the window title be? tauri-app01
✔ Where are your web assets located? ..
✔ What is the url of your dev server? http://localhost:5173
✔ What is your frontend dev command? pnpm run dev
✔ What is your frontend build command? pnpm run build

三. 运行及构建项目

当您完成创建项目的步骤后, 你就可以运行它,以感受下它的能力,在 “创建项目” 这一个环节中,如果你使用的是create-tauri-app的方式基本不会出现什么问题,但你如果是基于cll 的方式来创建项目就需要关注下项目的复杂度,可能在这一环节无法运行,我更建议使用基于create-tauri-app的方式创建我们需要的项目后,再将原项目逐步迁移过来。(这里http的方式要注意:axiso,alove是不适用的请求工具类,需要改造,或许你可以通过一些方式解决,但不推荐)

我们使用vscode进行项目的开发;在使用之前你需要为你的vscode安装rust的环境:

  • tauri
  • rust-analyzer

1. 运行项目:

pnpm tauri dev

注意:pnpm dev 启动的是前端项目,有些人可能会考虑我只想调试前端项目,而不需要后端,这里目前来看是行不通的,它不太像uniapp那样提供多运行环境的支持。

首次启动时,是比较慢的(可以适当冲杯茶,放松一下,前提是你要保证你的机器连接互联网),不要轻易修改tauri下的文件,会重新加载,慢

请添加图片描述

2. 构建项目

pnpm tauri build

首次编译的时间会比较长,需要在对应的环境下编译需要的应用程序,在window下编程后的文件放在:src-tauri\target\release\bundle 下

  • msi 安装文件
  • nsis 安装文件
  • src-tauri\target\release 下有一个exe的免安装程序

此时安装文件的步骤都是英文的,后续我们再探讨如何设定安装步骤及语言。

四. 项目目录结构

使用 create-tauri-app 创建的项目目录如下:

这里我们以 vite6,typescript 为例

  • vscode
  • node_modules
  • public
  • src
  • src-tauri
    • capabilities 能力(Capabilities)是tauri或插件所提供的,是一组权限
      • default.json 权限配置文件
    • gen
      • schemas 存放描述文件
    • icons 系统的图标,采用命令生成
    • src 服务端代码的存放位置
      • lib.rs 我们安装依赖的配置文件
      • main.rs 主入口
    • target 编译后的文件目录
    • build.rs build的入口文件
    • cargo.toml cargo的配置文件
    • tauri.conf.json tauri的配置文件
  • index.html
  • package.json
  • tsconfig.json
  • vite.config.ts

这里。vscode、node_modules、public、src、package.json 都是我们普遍了解的,如果你不清楚,你可以结束本次的学习,了解下如何构建前端项目,再回来继续学习。

src-tauri 是本项目的重点。在此目录中 capabilities、lib.rs、cargo.toml、tauri.conf.json、icons是我们重点关注的文件,后续章节中我们会反复应用。

相关文章:

Tauri教程-基础篇-第一节 Tauri项目创建及结构说明

“如果结果不如你所愿,就在尘埃落定前奋力一搏。”——《夏目友人帐》 “有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。”——《十宗罪》 “维持现状意味着空耗你的努力和生命。”——纪伯伦 Tauri 技术教程 * 第四章 Tauri的基础教程 第一节…...

计算机网络之---物理层标准与协议

常见的物理层标准 1. IEEE 802 标准 IEEE 802 是一系列定义局域网和城域网通信协议的标准,其中许多标准涉及到物理层的技术细节: IEEE 802.3 (Ethernet):定义了以太网的物理层规范,规定了如何通过电缆(例如同轴电缆…...

Idea日志乱码

问题描述 前提:本人使用windows Idea运行sh文件,指定了utf-8编码,但是运行过程中还是存在中文乱码 Idea的相关配置都已经调整 字体调整为雅黑 文件编码均调整为UTF-8 调整Idea配置文件 但是还是存在乱码,既然Idea相关配置已经…...

tk GMV MAX素材范围投放指南

Product GMy Max素材范围说明 Product GMy Max能自动获取带有相关商品锚点链接(无论是单个锚点还是多个锚点)的视频,并将其用于推广特定商品的广告素材,前提是这些视频已经获得广告授权。然而,请注意,多个…...

TANGO - 数字人全身动作生成

文章目录 一、关于 TANGO演示视频(YouTube)📝发布计划 二、⚒️安装克隆存储库构建环境 三、🚀训练和推理1、推理2、为自定义字符创建图形 一、关于 TANGO TANGO 是 具有分层音频运动嵌入 和 扩散插值的共语音手势视频再现 由东…...

springboot集成整合工作流,activiti审批流,整合实际案例,流程图设计,流程自定义,表单配置自定义,代码demo流程

前言 activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器,流行的前后端…...

Windows 10 ARM工控主板连接I2S音频芯片

在Windows工控主板应用中,音频功能是一项基本的需求,USB声卡在x86/x64 Windows系统上就可直接免驱使用,但这些USB声卡通常不提供ARM上的Windows系统驱动。本文将介绍如何利用安装在ARM上的Windows工控主板——ESM8400的I2S接口、连接WM8960音…...

单元测试MockitoExtension和SpringExtension

1. MockitoExtension MockitoExtension 是 JUnit 5 提供的一个扩展,用于支持 Mockito 的集成。它可以自动初始化标记为 Mock、InjectMocks 等的 Mockito 对象,而不需要显式调用 MockitoAnnotations.initMocks(this)。 主要特点: 自动初始化 Mock、Spy…...

网络安全 | WAF防护开通流程与技术原理详解

关注:CodingTechWork 引言 随着互联网安全形势的日益严峻,Web应用防火墙(WAF, Web Application Firewall)逐渐成为网站和应用的标准防护措施。WAF能够有效识别和防止如SQL注入、跨站脚本攻击(XSS)、恶意流…...

模型 断裂点理论(风险控制)

系列文章 分享模型,了解更多👉 模型_思维模型目录。设置小损失,防止大风险。 1 断裂点理论的应用 1.1 电路系统中的保险丝应用 背景介绍: 在工程学中,电路系统是现代科技中不可或缺的一部分,广泛应用于各…...

02.MPLS动态LSP配置实验

MPLS动态LSP配置实验 MPLS动态LSP配置实验基本配置MPLS部分查看LDP会话基本信息查看详细信息查看MPLS动态LSP配置实验 基本配置 接口地址和OSPF配置,省略!全网互通! 注意:8.8.8.8和9.9.9.9也要宣告! MPLS部分 [ar1]mpls lsr-id 1.1.1.1 [ar1]mpls Info: Mpls starting,…...

MySQL 中的Buffer Pool

深入解析 MySQL Buffer Pool:优化数据库性能的核心 引言 在关系型数据库管理系统(RDBMS)中,磁盘I/O通常是性能瓶颈之一。为了缓解这个问题,MySQL的InnoDB存储引擎引入了Buffer Pool这一概念。Buffer Pool作为内存中的…...

修复微pe系统uefi引导损坏windows failed to start...

打开微pe,点右下角生成iso镜像 再打开iso镜像,把里面所有文件复制到微pe启动盘的EFI分区(使用diskgenius才能看到该分区) 虚拟机启动测试...

【Vue3中使用crypto-js】crypto-js加密解密用法

目录 1、安装crypto2、创建crypto.js文件3、在main.js主文件中进行引用4、页面中进行使用5、实现效果展示6、加密模式解析以及iv参数使用 1、安装crypto npm install crypto-js 如果是在Typescript版本需要再安装 npm install --save types/crypto-js2、创建crypto.js文件 注…...

JavaWeb开发(九)JSP技术

1. JavaWeb JSP技术 1.1. JSP简介 1.1.1. 什么是JSP JSP全名为Java Server Page 是为了简化servlet的工作而出现的替代品。在JSP中java代码与HTML共同存在,其中HTML代码用于展示静态的内容,java代码用来展示动态的内容。 1.1.2. 为什么出现JSP技术 19…...

PADS Lyout布局布线实战技巧:布线优化及解决碎铜问题

1、通过加过孔 通过过孔复制 复制粘贴 也可以选择网络,选择右键,添加过孔来。 在一些孤铜的地方加过孔,加不了过孔的情况下,怎么办? 2、通过挖掉,不让铜在孤零零的地方。 右键,选择矩形&a…...

上下游服务间解耦的技术与管理

一、解耦为何至关重要 在当今软件研发的复杂生态中,耦合问题如影随形,困扰着众多开发者与企业。当多个模块、系统或团队紧密交织,相互依赖程度不断攀升,仿佛一张错综复杂的网,牵一发而动全身。就拿电商系统来说&#…...

如何解决HTML和CSS相关的问题,什么情况下会导致元素被遮挡?

在开发过程中,HTML 和 CSS 中的元素遮挡问题通常是由于布局、定位、层级等因素导致的。在使用 Vue.js 时,这些问题依然常见,尤其是涉及到动态渲染、条件渲染和组件嵌套的场景。以下是一些常见的导致元素被遮挡的原因,并通过 Vue.j…...

Infineon PSoC 4 CapSense ModusToolbox IDE - 系统生态篇

本文档说明了 ModusToolbox 软体环境的 4 个层面,该环境为 CapSense 设备和生态系统提供支援。本文是 Infineon PSoC 4 CapSense ModusToolbox IDE-系统介绍的延伸篇 (Infineon PSoC 4 CapSense ModusToolbox IDE -系统介绍篇 - 大大通(简体站))。 什么是ModusToolb…...

[算法]布隆过滤器

布隆过滤器(Bloom Filter)是一种空间效率很高的概率型数据结构,它可以用来检测一个元素是否在一个集合中。它的特点是高效地插入和查询,但是有一定的误判率(False Positive)。误判率指的是错误地认为某个元…...

SAMD平台轻量级事件驱动按钮库slight_ButtonInput

1. 项目概述 slight_ButtonInput 是一个面向嵌入式平台( 仅限 SAMD 系列微控制器 ,如 ATSAMD21G18、ATSAMD51J19 等)的轻量级 Arduino 库,专为 事件驱动型按钮输入处理 而设计。其核心目标并非简单轮询引脚电平,…...

电压负反馈放大电路

电压负反馈放大电路 共发射极(Common Emitter, CE) 在电子电路中, 信号的传输通常需要一个参考点, 通常是地线GND: 对于输入信号, 它需要一个:正端和一个负端才能形成回路, 让电流流动;对于输出信号, 也需要一个参考点来测量电压的变化. 在共发射极电路中, 发射极通…...

编写程序实现钓鱼浮标刻度雕刻,防水不褪色,输出钓友精准看口,实用刚需。

应用到广大钓友最关心的“眼睛”——钓鱼浮标(浮漂)上。我们要解决的是户外垂钓中一个既专业又恼人的问题:浮标刻度的防水与清晰度。项目方案:基于Python的钓鱼浮标激光刻度精密雕刻系统一、 实际应用场景描述想象一下&#xff0c…...

AI安全高阶:生成式AI的安全风险与防御体系

AI安全高阶:生成式AI的安全风险与防御体系📝 本章学习目标:本章深入探讨高阶主题,适合有一定基础的读者深化理解。通过本章学习,你将全面掌握"AI安全高阶:生成式AI的安全风险与防御体系"这一核心…...

GHelper合盖模式终极指南:华硕笔记本外接显示器合盖不休眠完整教程

GHelper合盖模式终极指南:华硕笔记本外接显示器合盖不休眠完整教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TU…...

Java自定义注解创建详解

一、什么是自定义注解注解(Annotation)​ 是一种元数据,用来为代码提供额外信息,但本身不改变代码逻辑。Java 内置注解如:OverrideDeprecatedSuppressWarnings而 自定义注解​ 就是开发者自己定义的注解类型&#xff0…...

2026年在职研究生论文降AI工具推荐:理论与实践结合部分如何处理

2026年在职研究生论文降AI工具推荐:理论与实践结合部分如何处理 导师发消息说论文AI率超标的时候,我正在食堂吃饭。筷子都差点拿不稳。 后来用了三天时间研究在职研究生论文降AI,踩了不少坑但总算搞定了。最后稳定在用的就是嘎嘎降AI&#…...

三步搞定空洞骑士模组管理:Scarab让复杂依赖关系变得简单

三步搞定空洞骑士模组管理:Scarab让复杂依赖关系变得简单 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为《空洞骑士》模组安装的各种技术难题而头疼吗&…...

2025届最火的六大降重复率助手推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 能降低AIGC检测率的关键之处在于模拟人类写作所具备的自然性以及逻辑跳跃。其一,…...

DSP数字电源方案:C2000系列主控TMS32F28069 Buck-Boost双向变换器(...

DSP数字电源方案 Buck-Boost双向变换器 数字控制方式:C2000系列 主控TMS32F28069 300W,8A,输入10-75V,输出5-75V 双向升降压功率转换器buck-boost结构 提供主板PCB,原理图(AD格式),源代码,无控制板资料。 …...