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 协议》,转载必须注明作者和本文链接