FastAPI で Vue 3 の SSR を実行するにはどうすればよいですか?
P粉004287665
P粉004287665 2023-08-26 21:31:32
0
1
609

Vue の SSR ドキュメントによると、node.js を使用してアプリケーションをレンダリングし、Express サーバーを使用してそれを返すことが可能です。 FastAPIでも同じことができるのでしょうか?

それとも、Jinja2 テンプレートまたは SPA を使用することが唯一の解決策ですか?

質問:

  • SPA なし: SEO に役立ちます
  • SSG なし: 生成されるページが多すぎます。一部は動的に生成する必要があります。
  • Jinja2/Python テンプレートなし: ノード モジュールは構築、バンドル、提供されません。すべてのモジュールはリモート パッケージ CDN 経由で提供される必要があります。

Vue 3 の区切り文字を変更してプロジェクトをビルドし、ファイルを Jinja2 テンプレートとして提供することが解決策になるような気がしますが、それが Vue のルーターでどのように機能するかはわかりません。 /dist フォルダーをデフォルト ルートで提供し、実際に存在するファイルを表示するために使用できるキャッチオールを使用できることはわかっています。

考えられる解決策

@app.get("/", response_class=FileResponse) def read_index(リクエスト: リクエスト): インデックス = f"{static_folder}/index.html" ファイルレスポンス(インデックス)を返す @app.get("/{catchall:path}"、response_class=FileResponse) def read_index(リクエスト: リクエスト): path = request.path_params["キャッチオール"] ファイル = 静的フォルダーのパス os.path.exists(ファイル)の場合: ファイル応答を返す(ファイル) インデックス = f"{static_folder}/index.html" ファイルレスポンス(インデックス)を返す 

質問

  • FastAPI と Vue 3 を使用して SSR を実行する方法があるとしたら、それは何ですか?
  • 直接的な方法がない場合、Vue の組み込み /dist と Jinja2 テンプレートを組み合わせて動的ページを提供するにはどうすればよいでしょうか?
<

P粉004287665
P粉004287665

全員に返信 (1)
P粉282627613

FastAPI および Vue 3 を介して SSR のサポートを提供する、Nuxt.js、Quasar、Gridsome など、いくつかのオプションが利用可能です。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!