ホームページ  >  記事  >  バックエンド開発  >  カスタムルーターでの wails アセットハンドラーの使用に関する問題

カスタムルーターでの wails アセットハンドラーの使用に関する問題

WBOY
WBOY転載
2024-02-12 16:30:07912ブラウズ

使用自定义路由器使用 wails 资产处理程序时出现问题

質問の内容

Wails アセット ハンドラーでカスタム マルチプレクサーを使用しようとしていますが、何かを取得しようとすると、index.html ページが取得され続けます。マルチプレクサーのservehttp関数の先頭にprintステートメントを追加しましたが、これはプログラムの先頭でfavicon.icoがフェッチされるときに一度だけ呼び出されます。

次のメインファイルがあります:

リーリー

ターミナルに次の出力が表示されます:

リーリー

Wails アセットサーバーのドキュメントで説明されているように、テストのために問題のページを取得しようとすると、インデックス ページを取得します:

リーリー

servehttp 関数が呼び出されないのはなぜですか?

解決策

ログには、externalassethandler が使用されていることが示されています。これは、外部のフロントエンド開発サーバーを使用することを意味します。すべてのリソース要求は、まず外部のフロントエンド開発サーバーに転送されます。 assetserver.options で指定されたハンドラーは、外部フロントエンド開発サーバーが 404 または 405 ステータス コードで応答した場合にのみ使用されます。現在、ほとんどのスパ フロントエンド開発サーバーは、非アセット リクエストに対して index.html を提供します。これが、この動作が見られる理由です。

回避策は、この要求をバイパスするように外部フロントエンド開発サーバーを構成することです。 vite の場合、構成ファイルを変更し、次の内容を追加します:

リーリー

しかし、これは行わないことをお勧めします。アセット ハンドラーは、その名前が示すように、動的なアセットにサービスを提供するためです。 wails には、バインドされた go メソッド を呼び出す独自の 方法があります。ぜひ試してみてください。

参考文献:

以上がカスタムルーターでの wails アセットハンドラーの使用に関する問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。