背景

我手里有一个非常简单的 C Sharp 项目,它将一个JSON字符串转换成Excel。它有两个我认为致命的缺点:

  1. 执行速度慢
  2. Visual Studio 打出来的安装包适配效果差,有同事安装后运行失败。

于是我打算把它改造成 Tauri2 的项目。

1. 正向尝试(以失败告终)

我首先想到的就是在 C Sharp 项目中使用 TRAE 的 @Builder with MCP 一步一步创建出符合我需求的 Tauri2 项目。

听起来很美好吧?但现实是,频繁地构建失败以及界面绘制出错:

过程不演示了,白折腾一上午。

2. 新启项目(从一个好的 Tauri2 脚手架做起)

2.1. 在开源世界寻找脚手架

敲代码超过一坤年的朋友们都知道,入门文档只会教给你 Hello World ,而实际需求的难度堪比SpaceX的“筷子夹火箭”。所以官方给出的脚手架一定不是一个好用的脚手架,真正好用的脚手架来自于大神们的热心分享,于是我翻出来之前就找到的一个开源项目:

HuLaSpark/HuLa

它非常庞大,但是它给出来的很多有益的内容,比如 scripts 目录下的构建脚本、 package.jsonCargo.toml 中已经测试过可靠的依赖……

2.2. 原封不动复制这些依赖

随即我按照 官网给出的教程,使用 pnpm create tauri-app 创建了最初的项目。

创建完成后,我需要安装一些必备的 VSCODE 插件:rust-analyzer、Tauri、Even Better TOML。

我将 package.jsonCargo.toml 中的依赖项原封不动地复制了过来,接下来就是 pnpm install

我通过截图让TRAE生成了前端页面,这对于它来说真的属于舒适区!

由于大模型更倾向于写JS、Python这类的脚本语言。所以我必须告诉他,本次的生成Excel必须由Rust进行编码,由我人为地将每个部分对应的之前的 C Sharp 代码告知它(其实就俩函数):

如此,项目总算是跑起来了。一些小问题,修修补补,一两天时间,项目就搞完了。

3. 更新版本,构建项目

接下来就是发布1.0.0版本了,发版的时候,我还是推荐使用 release-it

{
  "devDependencies": {
  ...
  "release-it": "^19.0.6",
  ...
  }
}

我们可以在根目录编写 .release-it.json 以实现 RustTauri 部分的版本修改:

{
  "github": {
    "release": false
  },
  "git": {
    "commitMessage": "chore: release ${version}",
    "tagName": "v${version}"
  },
  "npm": {
    "publish": false
  },
  "hooks": {
    "after:bump": [
      "node -e "const fs = require('fs'); const version = require('./package.json').version; const cargoToml = fs.readFileSync('./src-tauri/Cargo.toml', 'utf8'); const updatedCargoToml = cargoToml.replace(/version = \"[0-9]+\.[0-9]+\.[0-9]+\"/, `version = \"${version}\"`); fs.writeFileSync('./src-tauri/Cargo.toml', updatedCargoToml); console.log('Updated Cargo.toml version to', version);"",
      "node -e "const fs = require('fs'); const version = require('./package.json').version; const tauriConf = JSON.parse(fs.readFileSync('./src-tauri/tauri.conf.json', 'utf8')); tauriConf.version = version; fs.writeFileSync('./src-tauri/tauri.conf.json', JSON.stringify(tauriConf, null, 2)); console.log('Updated tauri.conf.json version to', version);""
    ]
  }
}

使用的方式非常简单,就是在 package.json 中的 "scripts" 新增一行:

{
  ...
  "scripts": {
  ...
  "release": "release-it",
  ...
  }
}

然后你就可以在命令行里使用了:

pnpm release

修改记录

时间内容
2026年2月4日完成初稿
本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com