Files
tauri-shell/README.md
imbytecat f22e7d400f refactor: 移除Vite相关配置并全面转向Tauri桌面化方案
- 删除了项目入口HTML文件中的所有内容和结构
- 删除启动加载页面文件
- 更新项目脚本和依赖项以使用 Tauri 命令替代 Vite 相关配置
- 更新 README 文档,详细说明基于 Tauri 的 Nitro 全栈应用桌面化方案,包括项目结构、使用步骤、工作原理、API 调用方式及配置说明。
- 移除启动时的加载窗口逻辑,直接创建并显示主窗口
- 删除项目中的 Tauri 图标文件
- 删除已废弃的 TypeScript 图标文件
- 删除项目中的Vite图标文件
- 删除主入口文件中的问候功能相关代码
- 删除了项目中的全局样式文件,移除了所有自定义的CSS样式规则和主题配置。
- 删除 TypeScript 配置文件中的编译选项和包含路径配置
- 删除旧的Vite配置文件以移除过时的Tauri开发服务器设置
2026-01-16 20:26:25 +08:00

144 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tauri Sidecar Shell for Nitro
这是一个纯 Tauri 壳项目,用于将 Nitro 全栈应用打包成桌面应用。
## 📁 项目结构
```
tauri-demo/
├── src-tauri/ # Tauri 后端Rust
│ ├── src/
│ │ └── lib.rs # 主逻辑:启动 Nitro sidecar
│ ├── binaries/
│ │ └── nitro-server-x86_64-pc-windows-msvc.exe # Nitro 二进制文件
│ ├── Cargo.toml # Rust 依赖
│ ├── tauri.conf.json # Tauri 配置
│ └── capabilities/ # 权限配置
├── package.json # 只包含 @tauri-apps/cli
└── TAURI_API_IN_NITRO.md # 如何在 Nitro 项目中使用 Tauri API
```
**注意**:没有前端代码!前端来自你的 Nitro 应用。
## 🚀 使用方法
### 1. 准备 Nitro 二进制文件
在你的 Nitro 项目中打包:
```bash
bun build --compile --outfile nitro-server
```
### 2. 放置到 Tauri 项目
```bash
# Windows
cp nitro-server.exe tauri-demo/src-tauri/binaries/nitro-server-x86_64-pc-windows-msvc.exe
# macOS (Intel)
cp nitro-server tauri-demo/src-tauri/binaries/nitro-server-x86_64-apple-darwin
# macOS (Apple Silicon)
cp nitro-server tauri-demo/src-tauri/binaries/nitro-server-aarch64-apple-darwin
# Linux
cp nitro-server tauri-demo/src-tauri/binaries/nitro-server-x86_64-unknown-linux-gnu
```
### 3. 开发测试
```bash
bun run dev
# 或
bun run tauri dev
```
### 4. 打包发布
```bash
bun run build
# 或
bun run tauri build
```
输出在:`src-tauri/target/release/`
## 🔧 工作原理
1. **Tauri 启动** → 检测可用端口(默认 3000
2. **启动 Nitro sidecar** → 通过环境变量 `NITRO_PORT` 传递端口
3. **监听 stdout** → 等待 Nitro 输出 `"Listening on:"` 确认启动
4. **创建窗口** → 加载 `http://localhost:{port}`
5. **应用退出时** → 自动终止 Nitro 进程
## 📦 在 Nitro 项目中使用 Tauri API
在你的 Nitro 项目中:
```bash
bun add @tauri-apps/api
```
然后直接使用:
```typescript
import { invoke } from '@tauri-apps/api/core';
// 调用 Rust 命令
const result = await invoke('greet', { name: '张三' });
```
详细文档:[TAURI_API_IN_NITRO.md](./TAURI_API_IN_NITRO.md)
## ⚙️ 配置说明
### 修改窗口标题/大小
编辑 `src-tauri/src/lib.rs`
```rust
.title("你的应用名称")
.inner_size(1200.0, 800.0) // 宽度 x 高度
```
### 修改端口范围
编辑 `src-tauri/src/lib.rs`
```rust
let port = find_available_port(3000).await; // 从 3000 开始查找
```
### 修改启动超时时间
编辑 `src-tauri/src/lib.rs`
```rust
let timeout = Duration::from_secs(5); // 5 秒超时
```
## 📝 常见问题
### Q: 为什么没有前端代码?
A: 前端完全由你的 Nitro 应用提供Tauri 只是一个壳。
### Q: 如何调试?
A: 运行 `bun run dev`,查看控制台输出:
- `使用端口: 3000`
- `Nitro: ➜ Listening on: ...`
- `✓ Nitro 服务器启动成功!`
### Q: 打包后体积多大?
A: 约 3-5MBTauri 壳)+ 你的 Nitro 二进制文件大小
### Q: 如何添加图标?
A: 替换 `src-tauri/icons/` 目录下的图标文件
## 🎯 核心优势
-**轻量**:比 Electron 小 30-40 倍
-**简单**:无需学 Rust只需配置
-**原生**:使用系统 WebView性能好
-**灵活**Nitro 应用可以独立开发和测试