🔌 官方插件

Tauri 提供丰富的官方插件:

插件功能
@tauri-apps/plugin-shell执行系统命令
@tauri-apps/plugin-fs文件系统操作
@tauri-apps/plugin-dialog系统对话框
@tauri-apps/plugin-httpHTTP 请求
@tauri-apps/plugin-notification系统通知
@tauri-apps/plugin-clipboard剪贴板
@tauri-apps/plugin-updater自动更新
@tauri-apps/plugin-store本地存储
@tauri-apps/plugin-os系统信息
@tauri-apps/plugin-process进程管理
@tauri-apps/plugin-positioner窗口定位
@tauri-apps/plugin-global-shortcut全局快捷键

📥 安装插件

bash
# 安装前端包
npm add @tauri-apps/plugin-shell

# 安装 Rust 包
cd src-tauri
cargo add tauri-plugin-shell

注册插件

rust
// src-tauri/src/lib.rs
fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_shell::init())
        .plugin(tauri_plugin_dialog::init())
        .run(tauri::generate_context!())
        .expect("error");
}

🔧 自定义插件

创建自定义插件扩展功能:

rust
// 定义插件
use tauri::plugin::{Builder, TauriPlugin};
use tauri::Runtime;

pub fn init() -> TauriPlugin {
    Builder::new("my-plugin")
        .invoke_handler(tauri::generate_handler![
            my_command
        ])
        .build()
}

#[tauri::command]
fn my_command() -> String {
    "Hello from plugin".to_string()
}
rust
// 使用插件
fn main() {
    tauri::Builder::default()
        .plugin(my_plugin::init())
        .run(tauri::generate_context!())
        .expect("error");
}

📦 社区插件

社区贡献的插件:

  • tauri-plugin-sql - SQLite/MySQL/PostgreSQL
  • tauri-plugin-localhost - 本地服务器
  • tauri-plugin-log - 日志系统
  • tauri-plugin-persisted-scope - 持久化权限

更多插件:GitHub Plugins Workspace