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 auf Ihren lokalen Geräten 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: Verwenden 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 ist es???.
...
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"] } ] }
Führen Sie die Bereitstellung erneut aus 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:
Aus
import { UsersService } from 'src/users/users.service';
Zu
import { UsersService } from '../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.
Ändern Sie also die vercel.json in diese
{ "version": 2, "builds": [ { "src": "dist/main.js", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "dist/main.js", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
Gehen Sie zu Ihrer Datei .gitignore und entfernen Sie /dist.
Führen Sie eine neue Bereitstellung aus und das ist alles.
Viel Spaß beim Codieren! ?
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3