refactor: 移除Vite相关配置并全面转向Tauri桌面化方案
- 删除了项目入口HTML文件中的所有内容和结构 - 删除启动加载页面文件 - 更新项目脚本和依赖项以使用 Tauri 命令替代 Vite 相关配置 - 更新 README 文档,详细说明基于 Tauri 的 Nitro 全栈应用桌面化方案,包括项目结构、使用步骤、工作原理、API 调用方式及配置说明。 - 移除启动时的加载窗口逻辑,直接创建并显示主窗口 - 删除项目中的 Tauri 图标文件 - 删除已废弃的 TypeScript 图标文件 - 删除项目中的Vite图标文件 - 删除主入口文件中的问候功能相关代码 - 删除了项目中的全局样式文件,移除了所有自定义的CSS样式规则和主题配置。 - 删除 TypeScript 配置文件中的编译选项和包含路径配置 - 删除旧的Vite配置文件以移除过时的Tauri开发服务器设置
This commit is contained in:
144
README.md
144
README.md
@@ -1,7 +1,143 @@
|
||||
# Tauri + Vanilla TS
|
||||
# Tauri Sidecar Shell for Nitro
|
||||
|
||||
This template should help get you started developing with Tauri in vanilla HTML, CSS and Typescript.
|
||||
这是一个纯 Tauri 壳项目,用于将 Nitro 全栈应用打包成桌面应用。
|
||||
|
||||
## Recommended IDE Setup
|
||||
## 📁 项目结构
|
||||
|
||||
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
|
||||
```
|
||||
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