Heim > Artikel > Web-Frontend > Bereitstellen einer NestJS-Anwendung mit Vercel und Supabase
Beachten Sie, dass die Bereitstellung auf Vercel recht einfach ist. Es gibt jedoch einige Einstellungen, die Sie bei der Bereitstellung berücksichtigen müssen.
Beginnen wir mit der Supabase-Einrichtung unter Berücksichtigung der Tatsache, dass Ihre NestJS-App für die Bereitstellung bereit ist.
Supabase ist eine Open-Source-Firebase-Alternative mit vollständiger Unterstützung und nahtloser Konfiguration Ihrer PostgreSQL-Datenbank und bietet außerdem zusätzliche Funktionen wie Authentifizierung, Speicherung usw.
Richten Sie ein neues Konto auf Supabase ein und erstellen Sie ein neues Projekt im Konto.
Sobald die Einrichtung abgeschlossen ist, klicken Sie auf der Seite Startseite auf die Schaltfläche Verbinden. Dies zeigt Ihnen verschiedene Möglichkeiten, die DB mit Ihrem Projekt zu verbinden
Testen Sie die Verbindung bei Ihren Einheimischen mit den bereitgestellten Anmeldeinformationen, um sicherzustellen, dass alles einwandfrei funktioniert.
HINWEIS: Stellen Sie sicher, dass die Anmeldeinformationen nicht offengelegt und in Ihrer .env-Datei gespeichert werden (ich glaube, Sie wissen das bereits?)
Als nächstes richten wir unser Vercel-Konto ein und stellen das Projekt bereit
Typischerweise wird Vercel hauptsächlich für die Bereitstellung von Front-End-Apps verwendet, es kann jedoch auch für die Bereitstellung von Backend-Projekten verwendet werden.
PS: Nutzen Sie stattdessen einen geeigneten Dienstleister, wenn Sie an einem mittelgroßen bis großen Projekt für Ihre Backend-Bereitstellungen arbeiten.
Erstellen Sie in Ihrem Vercel-Konto ein neues Projekt und stellen Sie eine Verbindung zu Ihrem Git-Repository her. Importieren Sie Ihre .env-Datei und klicken Sie auf die Schaltfläche Bereitstellen.
Voila, das war's???.
...
Dies ist ein häufiger Fehler, da Vercel während des Erstellungsprozesses Ihr Ausgabeverzeichnis kennen muss. Um dies zu beheben, fügen Sie einfach eine versel.json-Datei hinzu und kopieren Sie Folgendes:
{ "version": 2, "builds": [ { "src": "src/main.ts", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "src/main.ts", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
Bereitstellung erneut ausführen und das ist alles
...
In meinem Fall lag es an einem Fehler, bei dem das Modul nicht gefunden wurde
...
Es gibt mehrere Möglichkeiten, dieses Problem zu beheben:
Von
{ "version": 2, "builds": [ { "src": "src/main.ts", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "src/main.ts", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
zu
import { UsersService } from 'src/users/users.service';
...
Ich habe mich schließlich für diese Methode entschieden, weil ich meine App nicht darauf beschränken musste, nur relative Pfadimporte zu verwenden.
Also ändern Sie die vercel.json so
import { UsersService } from '../users/users.service';
Gehen Sie zu Ihrer .gitignore-Datei und entfernen Sie /dist.
Führen Sie eine neue Bereitstellung aus und das ist alles.
Viel Spaß beim Codieren! ?
Das obige ist der detaillierte Inhalt vonBereitstellen einer NestJS-Anwendung mit Vercel und Supabase. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!