create-tauri-command Skill
このスキルは、Rustバックエンドに新しいTauriコマンドを追加し、それをTypeScriptフロントエンドから呼び出せるようにする一連の作業をガイドします。
手順
- •
バックエンド: コマンド関数の実装
- •
Tepora-app/backend-rs/src/api.rs(または適切なモジュール) に関数を作成します。 - •関数には
#[tauri::command]属性を付与します。 - •引数と戻り値は
serde::Serialize,serde::Deserializeを実装している必要があります。
rust#[tauri::command] pub fn my_new_command(arg: String) -> Result<String, String> { // 実装 Ok(format!("Hello, {}", arg)) } - •
- •
バックエンド: ハンドラの登録
- •
Tepora-app/backend-rs/src/main.rs(またはlib.rs) のtauri::Builderチェーンにある.invoke_handler(tauri::generate_handler![...])を探します。 - •新しいコマンド名をリストに追加します。
rust.invoke_handler(tauri::generate_handler![ existing_command, my_new_command, // 追加 ]) - •
- •
フロントエンド: API定義の追加
- •
Tepora-app/frontend/src/lib/api/内の適切なファイル(例:index.ts)に、Tauriのinvokeをラップする関数を追加します。
typescriptimport { invoke } from '@tauri-apps/api/tauri'; export async function myNewCommand(arg: string): Promise<string> { return await invoke('my_new_command', { arg }); } - •
注意点
- •コマンド名はスネークケース(
my_new_command)がRustの慣習です。 - •フロントエンドからの呼び出し時は、引数オブジェクトのキー名がRust側の引数名と一致している必要があります。