Node.js サイドカー
Node.js サイドカーを使用すると、Tauri アプリケーションから Node.js スクリプトを実行できます。 これは、Node.js エコシステムの豊富なパッケージを利用したい場合や、既存の Node.js コードを再利用したい場合に便利です。
Node.js サイドカーを使用するには、まず サイドカー (外部バイナリ) のガイドに従って、基本的なサイドカーの設定を行う必要があります。
さらに、Node.js ランタイムをサイドカーとしてバンドルする必要があります。これには、pkg などのツールを使用して、Node.js スクリプトを実行可能なバイナリにパッケージ化する方法が一般的です。
-
Node.js プロジェクトを作成し、必要な依存関係をインストールします。
Terminal window mkdir my-sidecarcd my-sidecarnpm init -ynpm install -
index.jsファイルを作成し、実行したいコードを記述します。my-sidecar/index.js console.log('Hello from Node.js sidecar!'); -
pkgを使用して、Node.js スクリプトをバイナリにコンパイルします。Terminal window npx pkg index.js -t node18-linux-x64,node18-macos-x64,node18-win-x64 --out-path ../src-tauri/binaries -
src-tauri/binariesディレクトリ内のバイナリの名前を、Tauri のサイドカー命名規則に従って変更します。 例:my-sidecar-x86_64-unknown-linux-gnu -
tauri.conf.jsonでサイドカーを設定します。tauri.conf.json {"bundle": {"externalBin": ["binaries/my-sidecar"]}}
Rust または JavaScript からサイドカーを実行できます。
import { Command } from '@tauri-apps/plugin-shell';
const command = Command.sidecar('binaries/my-sidecar');const output = await command.execute();console.log(output.stdout);use tauri_plugin_shell::ShellExt;
let sidecar_command = app.shell().sidecar("my-sidecar").unwrap();let (mut _rx, _child) = sidecar_command.spawn().expect("Failed to spawn sidecar");サイドカーとメインアプリケーション間の通信には、標準入出力 (stdin/stdout) を使用するのが一般的です。
Node.js スクリプトで console.log を使用してデータを出力し、Tauri アプリ側でそれを読み取ることができます。
逆に、Tauri アプリからサイドカーの stdin にデータを書き込むこともできます。
© 2025 Tauri Contributors. CC-BY / MIT