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

【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之前的命令

    可以变化的。

    结果如下

    相关文章:

  1. shadcn如何给dialog增加关闭按钮和隐藏右上角关闭按钮
  2. 重写ring3 API函数
  3. 安宝特应用 | 军工级数据安全赋能保密产品数字化交付
  4. 第五章 动态规划
  5. Linux文件描述符及重定向
  6. 26考研——图_图的存储(6)
  7. Python学习笔记(6)
  8. 在计算进程D状态持续时间及等IO的时间遇到的一处问题
  9. Resource usage
  10. Flink 流处理框架的核心特性
  11. PostgreSQL 连接数超限问题
  12. 流程控制语句
  13. 每日总结3.24
  14. C/C++蓝桥杯算法真题打卡(Day10)
  15. 刷刷刷刷刷
  16. iPhone 16如何翻译文档?文档翻译技巧、软件推荐
  17. 领域驱动设计(DDD)实践入门
  18. nuxt3网站文章分享微信 ,QQ功能
  19. stm第九天433M无线遥控灯
  20. 汇编语言高级编程技巧:从基础到进阶
  21. 国家发改委:美芯片药品等领域关税影响全球科技发展,损害人类共同利益
  22. 眉山“笑气”迷局:草莓熊瓶背后的隐秘与危机
  23. Meta正为AI眼镜开发人脸识别功能
  24. “子宫内膜异位症”相关论文男性患者样本超六成?福建省人民医院发布情况说明
  25. 印巴局势快速升级,外交部:呼吁印巴以和平稳定的大局为重
  26. 从黄土高原到黄浦江畔,澄城樱桃品牌推介会明日在上海举办