Rumah >hujung hadapan web >tutorial js >Menggunakan Aplikasi NestJS menggunakan Vercel dan Supabase

Menggunakan Aplikasi NestJS menggunakan Vercel dan Supabase

DDD
DDDasal
2024-10-26 05:37:02771semak imbas

Fahami bahawa penggunaan ke Vercel agak mudah, namun, terdapat beberapa persediaan yang perlu anda ambil kira semasa penggunaan.

Prasyarat

  • Projek NestJS disambungkan dan berfungsi dengan betul secara setempat dalam persekitaran pembangunan dengan PostgreSQL
  • Akaun Vercel untuk penempatan
  • Akaun Supabase (kami akan menyediakan Pangkalan Data PostgreSQL kami di sini)

Mari mulakan dengan persediaan Supabase memandangkan apl NestJS anda sedia untuk digunakan.

Akaun Supabase

Supabase ialah alternatif firebase sumber terbuka dengan sokongan penuh dan konfigurasi lancar pangkalan data PostgreSQL anda, dan ia juga menyediakan ciri tambahan seperti pengesahan, storan, dll.

Sediakan akaun baharu di Supabase dan buat projek baharu dalam akaun.

Deploying NestJS Application using Vercel and Supabase

Setelah persediaan selesai, klik pada butang sambung pada halaman Laman Utama. Ini akan menunjukkan kepada anda pilihan yang berbeza untuk menyambungkan DB ke projek anda

Deploying NestJS Application using Vercel and Supabase

Uji sambungan pada penduduk setempat anda dengan bukti kelayakan yang disediakan untuk memastikan semuanya berfungsi dengan baik.

NOTA: Pastikan bukti kelayakan tidak didedahkan dan disimpan dalam fail .env anda (saya percaya anda sudah tahu perkara ini ?)

Seterusnya, Mari sediakan akaun Vercel kami dan gunakan projek

Vercel

Lazimnya, Vercel diketahui kebanyakannya digunakan untuk penggunaan apl bahagian hadapan, namun, ia juga boleh digunakan untuk menggunakan projek bahagian belakang.

PS: Sebaliknya, gunakan penyedia perkhidmatan yang sesuai jika anda sedang mengusahakan projek berskala sederhana hingga besar untuk penempatan bahagian belakang anda.

Pada akaun Vercel anda, buat projek baharu dan sambungkan ke repositori Git anda. Import fail .env anda dan klik butang Gunakan.

Deploying NestJS Application using Vercel and Supabase

Voila, itu sahaja ???.
...

Isu Biasa mungkin dihadapi

# Ralat: Tiada Direktori Output bernama "awam"

Deploying NestJS Application using Vercel and Supabase

Ini adalah ralat biasa kerana Vercel perlu mengetahui direktori output anda semasa proses binaan. Untuk membetulkannya, cuma tambah fail versel.json dan salin ini:

{
  "version": 2,

  "builds": [
    {
      "src": "src/main.ts",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "src/main.ts",
      "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]
    }
  ]
} 

Jalankan penggunaan semula dan itu sahaja

...

# Ralat: Fungsi Tanpa Pelayan ini telah ranap

Deploying NestJS Application using Vercel and Supabase

Dalam kes saya, ia adalah kerana ralat modul tidak ditemui

Deploying NestJS Application using Vercel and Supabase

...
Terdapat beberapa cara untuk menyelesaikan masalah ini:

Kaedah 1 (Ganti semua import anda dengan laluan relatif)

Dari

{
  "version": 2,

  "builds": [
    {
      "src": "src/main.ts",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "src/main.ts",
      "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]
    }
  ]
} 

kepada

import { UsersService } from 'src/users/users.service';

...

Kaedah 2 (Ubah suai fail vercel.json dan fail .gitignore anda)

Saya akhirnya menggunakan kaedah ini kerana saya tidak perlu mengehadkan apl saya kepada hanya menggunakan import laluan relatif.

Jadi, ubah suai vercel.json kepada ini

import { UsersService } from '../users/users.service';

Pergi ke fail .gitignore anda dan alih keluar /dist.

Jalankan penempatan baharu dan itu sahaja.

Selamat mengekod! ?

Atas ialah kandungan terperinci Menggunakan Aplikasi NestJS menggunakan Vercel dan Supabase. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn