コントリビュート

このドキュメントを編集

ドキュメントを翻訳するか、お使いのコンピューターでプロジェクト全体を開きます。

作業内容を送信するまで、何も公開されません。

フロントエンドルーティング

Wails アプリケーションでフロントエンドルーティングを使用する

フロントエンドルーティングは、シングルページアプリケーションでビューを切り替える一般的な方法です。 このガイドでは、Wails を使用する際に各種フロントエンドフレームワークで推奨される方法について説明します。

Vue でのルーティングには、ハッシュモードを推奨します:

javascript
import { createRouter, createWebHashHistory } from "vue-router";

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    //...
  ],
});

ハッシュモードでは、URL ハッシュを使用して異なるビューをレンダリングします。ハッシュベースの URL 形式を使用することで、Wails ランタイムがルーティングに干渉する問題を回避できます。

ハッシュルーティングを使用する理由

Wails はフロントエンドをネイティブの WebView ウィンドウに埋め込みます。パスベースのルーティング(/page)ではなくハッシュベースのルーティング(#/page)を使用すると、次の要素との競合を回避できます:

  • Wails ランタイムの内部ルーティング
  • プラットフォームごとに異なるネイティブウィンドウの URL 処理
  • ルート以外のパスから配信される本番環境用アセット

トラブルシューティング

本番ビルドでフロントエンドルーティングに問題が発生する場合は、次を確認してください:

  • フロントエンドのビルドツールが、ハッシュモードのルーティング向けに出力するよう設定されていることを確認します
  • Vite ベースのプロジェクトでは、vite.config.jsにbase: "./"を追加します
  • index.htmlが SPA ルーティングのフォールバックを適切に処理することを確認します
ページを編集

最終更新: