Tauri 从 Rust 运行它
在 Rust 代码中,从 tauri::api::process 模块导入 Command 结构体:
// `new_sidecar()` expects just the filename, NOT the whole path like in JavaScript
let (mut rx, mut child) = Command::new_sidecar("my-sidecar")
.expect("failed to create `my-sidecar` binary command")
.spawn()
.expect("Failed to spawn sidecar");
tauri::async_runtime::spawn(async move {
// read events such as stdout
while let Some(event) = rx.recv().await {
if let CommandEvent::Stdout(line) = event {
window
.emit("message", Some(format!("'{}'", line)))
.expect("failed to emit event");
// write to stdin
child.write("message from Rust\n".as_bytes()).unwrap();
}
}
});
请注意,您必须启用 process-command-api Cargo 特性(Tauri的CLI会在您更改配置后为您执行此操作):
# Cargo.toml
[dependencies]
tauri = { version = "1", features = ["process-command-api", ...] }