refactor: 重构项目结构与文件命名规范
- 移除已过时的忽略规则并更新 Cargo 和 Tauri 生成文件的忽略配置 - 删除已过时的项目协作指南文件AGENTS.md - 重命名 binaries/.gitignore 文件以保持项目结构一致性 - 重命名构建脚本文件以符合项目根目录的规范 - 删除了包含所有依赖项及其哈希值的锁文件,移除了项目所有构建工具和平台特定二进制文件的详细版本信息。 - 重命名能力配置文件以统一路径结构 - 重命名 Cargo.lock 文件以匹配项目根目录的命名规范 - 重命名 Cargo.toml 文件以统一项目根目录的配置文件路径 - 重命名图标文件以统一项目中的资源路径 - 重命名图标文件以正确反映其在项目中的位置 - 重命名图标文件以正确反映其在项目中的位置 - 重命名图标文件以统一项目中的资源路径结构 - 重命名图标文件路径以保持项目结构一致性 - 重命名图标文件以统一项目资源路径 - 重命名图标文件以正确反映其在项目中的新路径 - 重命名图标文件以正确匹配新路径结构 - 重命名图标文件以正确反映其在项目中的位置 - 重命名图标文件以匹配新路径结构 - 重命名图标文件以正确反映其在项目中的位置 - 重命名图标文件以匹配新的项目路径结构 - 重命名图标文件以正确反映其在项目中的新路径 - 重命名图标文件以正确反映其在项目中的新路径 - 重命名图标文件以正确反映其在项目中的位置 - 重命名图标文件以正确反映其在项目中的位置 - 删除项目中的 package.json 文件及其中定义的依赖和脚本配置 - 删除 README.md 文件 - 删除不再需要的构建和生成文件忽略规则 - 重命名源文件路径以符合项目结构规范 - 重命名主源文件路径以符合项目结构规范 - 重命名 tauri.conf.json 文件以统一配置文件路径
This commit is contained in:
143
README.md
143
README.md
@@ -1,143 +0,0 @@
|
||||
# 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-5MB(Tauri 壳)+ 你的 Nitro 二进制文件大小
|
||||
|
||||
### Q: 如何添加图标?
|
||||
A: 替换 `src-tauri/icons/` 目录下的图标文件
|
||||
|
||||
## 🎯 核心优势
|
||||
|
||||
- ✅ **轻量**:比 Electron 小 30-40 倍
|
||||
- ✅ **简单**:无需学 Rust,只需配置
|
||||
- ✅ **原生**:使用系统 WebView,性能好
|
||||
- ✅ **灵活**:Nitro 应用可以独立开发和测试
|
||||
Reference in New Issue
Block a user