Tauri + Svelte + TypeScript 学习(一)

最近公司ide打算全面使用Svelte和TypeScript 顺路学习一下

  • 创建项目
    $ yarn create tauri-app
  • 选择Svelte模板和TypeScript
  • 启动项目
    $ yarn tauri dev
  • rust与Svelte通信 (这里的通信应该是主线程与渲染进程通信)
    rust注册事件
// src-tauri/src/main.rs

#![cfg_attr(
    all(not(debug_assertions), target_os = "windows"),
    windows_subsystem = "windows"
)]

fn main() {
    tauri::Builder::default()
    .invoke_handler(tauri::generate_handler![get_test])
    .run(tauri::generate_context!())
    .expect("error while running tauri application");
}

#[tauri::command]
fn get_test() -> String {
    let str = String::from("Hello World");
    return str;
}

前端调用事件

<!-- src/App.svelte -->
<script lang="ts">
  import { invoke } from '@tauri-apps/api/tauri'

  let name: string = ""
  invoke('get_test').then((data: string) => {
    name = data
  }).catch((err) => {
    console.error(err)
  })

</script>

<main>
  <h1>{name}!</h1>
</main>

<style>
</style>

tauri的通信主要是通过invoke发送与接收消息

如果你喜欢我的作品,请考虑赞助,以保持它们的可持续性。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!