コンテンツにスキップ
Tauri

プロジェクト構成

Tauri プロジェクトは通常、「Rust プロジェクト」と「JavaScript プロジェクト」の二つの部分(但し JavaScript プロジェクトはオプション)で構成されており、 通常のセットアップ構成は以下のようになります:

.
├── package.json
├── index.html
├── src/
│ ├── main.js
├── src-tauri/
│ ├── Cargo.toml
│ ├── Cargo.lock
│ ├── build.rs
│ ├── tauri.conf.json
│ ├── src/
│ │ ├── main.rs
│ │ └── lib.rs
│ ├── icons/
│ │ ├── icon.png
│ │ ├── icon.icns
│ │ └── icon.ico
│ └── capabilities/
│ └── default.json

上記の場合、「JavaScript プロジェクト」がトップレベルにあり、「Rust プロジェクト」は src-tauri/ 内に置かれています。 「Rust プロジェクト」は、いくつかのファイルが追加されている通常の Cargo プロジェクト です:

《訳注》

Cargo プロジェクト 上記リンク先は英語版『The Cargo Book』サイト。Rust 関係の文書は総合サイト「Learn Rust(Rustを学ぶ)」にて閲覧できますが、日本語版が提供されているのは(通称「The Book」と呼ばれる)『プログラミング言語 Rust』のみのようです。

  • tauri.conf.json は Tauri のメイン設定ファイルで、アプリケーション識別子から開発サーバーの URL まで、すべてが含まれています。 このファイルは、Tauri CLI が Rust プロジェクトを見つけるためのマーカーでもあります。 詳細については、Tauri Config を参照してください。
  • capabilities/ ディレクトリは、Tauri が セキュリティ・レベル・ファイル を読み取るデフォルトのフォルダです(あなたの JavaScript コードからこのファイル内のコマンドを使用するには、このフォルダのコマンド対するアクセスを許可する必要があります)。 詳細については、セキュリティ を参照してください。
  • icons/ ディレクトリは tauri icon コマンドのデフォルトの出力ディレクトリであり、通常は tauri.conf.json > bundle > icon で参照され、アプリのアイコンに使用されます。
  • build.rs には、tauri のビルドシステムに使用される tauri_build::build() が含まれています。
  • src/lib.rs には「Rust コード」と「モバイル・エントリ・ポイント」(#[cfg_attr(mobile, tauri::mobile_entry_point)] でマークされた関数)が含まれています。 main.rs 内に直接記述しない理由は、あなたのアプリを各モバイル・ビルドのライブラリを用いてコンパイルし、各プラットフォーム・フレームワークを通じてロードするためです。
  • src/main.rs はデスクトップの「メイン・エントリ・ポイント」であり、モバイルと同じエントリ・ポイントを使用するために main 内で app_lib::run() を実行します。 そのため、処理を簡単にするために、このファイルは変更せず、代わりに lib.rs のほうを変更してください。app_lib は Cargo.toml の [lib.name] に対応することに注意してください。

Tauri は「静的 Web ホスト」に似た動作をします。そのビルド方法は、まず最初に「JavaScript プロジェクト」を複数の静的ファイルにコンパイルし、 次に そうした静的ファイルをバンドルする「Rust プロジェクト」をコンパイルします。 このため、「JavaScript プロジェクト」の構成は、基本的には静的なウェッブサイトを構築しているのと同様になります。 詳細については、フロントエンドの設定 を参照してください。

Rust コードのみで自分のプロジェクトを構成したい場合には、単に src-tauri/ フォルダ以外のすべてを削除し、src-tauri/ フォルダをトップレベル・プロジェクトとして、あるいは Rust ワークスペースのメンバーとして、使用するだけです。

【※ この日本語版は、「Sep 26, 2025 英語版」に基づいています】


© 2026 Tauri Contributors. CC-BY / MIT