Tauri プロジェクトのディレクトリ構成

Recipe ID: env-008

Tauri プロジェクトの標準的なディレクトリ構成と、各ファイル・フォルダの役割について解説します。

全体構造

my-tauri-app/
├── src/                 # フロントエンドのソースコード (HTML, JS, CSS, フレームワーク)
├── src-tauri/           # バックエンド (Rust) のソースコードと設定
│   ├── src/             # Rust のソースコード (main.rs, lib.rs)
│   ├── target/          # Rust のビルド生成物 (git管理外推奨)
│   ├── capabilities/    # パーミッション設定ファイル群
│   ├── Cargo.toml       # Rust のパッケージ設定
│   ├── tauri.conf.json  # Tauri アプリ全体の設定
│   └── build.rs         # ビルドスクリプト
├── package.json         # フロントエンドのパッケージ設定
└── index.html           # アプリのエントリーポイント

主要なファイル・フォルダ

src-tauri/tauri.conf.json

Tauri アプリの最も重要な設定ファイルです。アプリ名、バージョン、ウィンドウ設定、セキュリティ設定、バンドル設定などを記述します。v2 からは JSON5 形式(コメント可)もサポートされる場合がありますが、基本は JSON です。

src-tauri/Cargo.toml

Rust プロジェクトのマニフェストファイルです。アプリが依存する Rust クレート(tauri, serde など)や、メタデータ(バージョン、作者)を管理します。

src-tauri/src/main.rs (または lib.rs)

Tauri アプリのエントリーポイントとなる Rust コードです。ここで tauri::Builder を使用してアプリを構築し、プラグインの初期化やコマンドの登録を行います。

src-tauri/capabilities/

Tauri v2 の新しいセキュリティモデルに基づき、アプリがアクセス可能な権限(Permission)を定義した JSON/TOML ファイルを配置します。default.json などが含まれます。

src/

ここには通常の Web アプリケーションのコードが入ります。React や Vue などのフレームワークを使用している場合、その構造に従います。