コンテンツにスキップ
Tauri

Node.js サイドカー

Node.js サイドカーを使用すると、Tauri アプリケーションから Node.js スクリプトを実行できます。 これは、Node.js エコシステムの豊富なパッケージを利用したい場合や、既存の Node.js コードを再利用したい場合に便利です。

Node.js サイドカーを使用するには、まず サイドカー (外部バイナリ) のガイドに従って、基本的なサイドカーの設定を行う必要があります。

さらに、Node.js ランタイムをサイドカーとしてバンドルする必要があります。これには、pkg などのツールを使用して、Node.js スクリプトを実行可能なバイナリにパッケージ化する方法が一般的です。

  1. Node.js プロジェクトを作成し、必要な依存関係をインストールします。

    Terminal window
    mkdir my-sidecar
    cd my-sidecar
    npm init -y
    npm install
  2. index.js ファイルを作成し、実行したいコードを記述します。

    my-sidecar/index.js
    console.log('Hello from Node.js sidecar!');
  3. pkg を使用して、Node.js スクリプトをバイナリにコンパイルします。

    Terminal window
    npx pkg index.js -t node18-linux-x64,node18-macos-x64,node18-win-x64 --out-path ../src-tauri/binaries
  4. src-tauri/binaries ディレクトリ内のバイナリの名前を、Tauri のサイドカー命名規則に従って変更します。 例: my-sidecar-x86_64-unknown-linux-gnu

  5. 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