#tauri-plugin #assets #tauri-app #localhost #server #expose #protocols

omuchat-tauri-plugin-server

通过本地服务器而不是默认的自定义协议来暴露您的应用资源。(此项目是 tauri-plugin-localhost 的分支)

1 个不稳定版本

0.1.0 2023 年 9 月 6 日

#8 in #localhost

Apache-2.0 OR MIT

53KB
98 行代码

此项目是 tauri-plugin-localhost 的分支。

[已弃用] 请使用 https://github.com/tauri-apps/plugins-workspace 中的插件代替。

通过本地服务器而不是默认的自定义协议来暴露您的应用资源。

注意:此插件存在相当大的安全风险,并且您只有在了解自己在做什么的情况下才能使用它。如果有疑问,请使用默认的自定义协议实现。

安装

此插件需要至少 1.64 版本的 Rust。

我们可以推荐三种一般性的安装方法。

  1. 使用 crates.io 和 npm(最简单,需要您信任我们的发布流程)
  2. 直接从 Github 使用 git 标签/版本号拉取源代码(最安全)
  3. 使用 Git 子模块在您的 tauri 项目中安装此仓库,然后使用文件协议导入源代码(最安全,但使用不便)

通过在您的 Cargo.toml 文件中添加以下内容来安装核心插件

src-tauri/Cargo.toml

[dependencies]
omuchat-tauri-plugin-server = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
portpicker = "0.1" # used in the example to pick a random free port

用法

首先,您需要将核心插件注册到 Tauri 中

src-tauri/src/main.rs

use tauri::{utils::config::AppUrl, window::WindowBuilder, WindowUrl};

fn main() {
  let port = portpicker::pick_unused_port().expect("failed to find unused port");

  let mut context = tauri::generate_context!();
  let url = format!("https://127.0.0.1:{}", port).parse().unwrap();
  let window_url = WindowUrl::External(url);
  // rewrite the config so the IPC is enabled on this URL
  context.config_mut().build.dist_dir = AppUrl::Url(window_url.clone());
  context.config_mut().build.dev_path = AppUrl::Url(window_url.clone());

  tauri::Builder::default()
    .plugin(tauri_plugin_localhost::Builder::new(port).build())
    .setup(move |app| {
      WindowBuilder::new(app, "main".to_string(), window_url)
        .title("Localhost Example")
        .build()?;
      Ok(())
    })
    .run(context)
    .expect("error while running tauri application");
}

贡献

接受 PR。请在提交 pull request 之前确保阅读贡献指南。

许可证

代码:© 2015 - 现在 - Commons Conservancy 下的 Tauri 项目。

适用于适用情况的 MIT 或 MIT/Apache 2.0。

依赖关系

~21–63MB
~1M SLoC