cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk membuat FastAPI melaksanakan SSR untuk Vue 3?

<p>Menurut dokumentasi SSR Vue, adalah mungkin untuk membuat aplikasi menggunakan node.js dan mengembalikannya menggunakan pelayan Express. Bolehkah FastAPI melakukan perkara yang sama? </p> <p>Atau adakah menggunakan templat Jinja2 atau SPA satu-satunya penyelesaian? </p> <h3>Soalan: </h3> <ul> <li>Tiada SPA: Membantu dengan SEO</li> <li>Tiada SSG: Terlalu banyak halaman akan dijana. Sesetengahnya perlu dijana secara dinamik. </li> <li>Tiada templat Jinja2/Python: Modul nod tidak akan dibina, digabungkan dan disampaikan. Semua modul mesti disampaikan melalui CDN pakej jauh. </li> </ul> <p>Saya mempunyai perasaan bahawa mungkin menukar pembatas Vue 3 dan kemudian membina projek dan menyediakan fail sebagai templat Jinja2 akan menjadi penyelesaiannya, tetapi saya tidak pasti bagaimana ia akan berfungsi dengan penghala Vue. Saya tahu bahawa folder <code>/dist</code> boleh disampaikan pada laluan lalai dan kemudian menggunakan catch-all yang boleh digunakan untuk menunjukkan fail yang sebenarnya wujud. </p> <h3>Penyelesaian yang mungkin</h3> <pre class="brush:py;toolbar:false;">@app.get("/", response_class=FileResponse) def read_index(permintaan: Permintaan): indeks = f"{static_folder}/index.html" kembalikan FileResponse(indeks) @app.get("/{catchall:path}", response_class=FileResponse) def read_index(permintaan: Permintaan): laluan = request.path_params["catchall"] fail = static_folder + laluan jika os.path.exists(fail): kembalikan FileResponse(fail) indeks = f"{static_folder}/index.html" kembalikan FileResponse(indeks) </pra> <h3>Soalan</h3> <ul> <li>Jika ada cara untuk melakukan SSR menggunakan FastAPI dan Vue 3, apakah cara itu? </li> <li>Jika tiada cara langsung, bagaimana untuk menggabungkan <kod>/dist</code> terbina dalam Vue dengan templat Jinja2 untuk menyediakan halaman dinamik? </li> </ul></p>
P粉004287665P粉004287665460 hari yang lalu746

membalas semua(1)saya akan balas

  • P粉282627613

    P粉2826276132023-08-27 09:18:23

    Terdapat pelbagai pilihan yang tersedia seperti Nuxt.js, Quasar dan Gridsome yang menyediakan sokongan untuk SSR melalui FastAPI dan Vue 3.

    balas
    0
  • Batalbalas