Tauri 即将提供插件入门套件,编写插件 crate 的过程将会进一步简化。
现在我们建议您关注Tauri 的官方插件
tauri v0.8.0 中引入了 Tauri 插件系统。

插件允许您注入进 Tauri 应用的生命周期,或是添加新命令。

编写插件

要编写一个插件,您只需要实现 tauri::plugin::Plugin trait:
use tauri::{plugin::Plugin, Webview}; struct MyAwesomePlugin { // 插件状态,配置项 } impl MyAwesomePlugin { // 您可在此处添加配置项, // 详见 https://doc.rust-lang.org/1.0.0/style/ownership/builders.html pub fn new() -> Self { Self {} } } impl Plugin for MyAwesomePlugin { /// 初始化时执行的 JS 脚本 /// 在你的插件通过 window 暴露, /// 或是需要在应用初始化时执行 JS 任务的时候很有用 /// 例如: “window.localStorage = { … 插件接口 }” fn init_script(&self) -> Option { None } /// 回调会在 webview 创建的时候触发。 fn created(&self, webview: &mut Webview) {} /// 回调会在 webview 创建的时候触发。 fn ready(&self, webview: &mut Webview) {} fn extend_api(&self, webview: &mut Webview, payload: &str) -> Result { // 在这里集成api之后根据规范开发你的代码 // 如果你不打算使用它,也可以删除这块。 } }
Plugin trait 中的每个函数都是可选的。

使用插件

要使用插件,只需将 MyAwesomePlugin 结构的一个实例传递给应用程序的 plugin 方法:
fn main() { let awesome_plugin = MyAwesomePlugin::new(); tauri::AppBuilder::new() .plugin(awesome_plugin) .build() .run(); }

Tauri 的官方插件