"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Déploiement de l'application NestJS à l'aide de Vercel et Supabase

Déploiement de l'application NestJS à l'aide de Vercel et Supabase

Publié le 2024-11-12
Parcourir:526

Comprenez que le déploiement sur Vercel est assez simple, cependant, vous devez prendre en compte certaines configurations lors du déploiement.

Conditions préalables

  • Projet NestJS connecté et fonctionnant correctement localement dans l'environnement de développement avec PostgreSQL
  • Compte Vercel pour le déploiement
  • Compte Supabase (nous allons configurer notre base de données PostgreSQL ici)

Commençons par la configuration de Supabase en considérant que votre application NestJS est prête à être déployée.

Compte Supabase

Supabase est une alternative open source à Firebase avec une prise en charge complète et une configuration transparente de votre base de données PostgreSQL, et elle fournit également des fonctionnalités supplémentaires telles que l'authentification, le stockage, etc.

Créez un nouveau compte sur Supabase et créez un nouveau projet dans le compte.

Deploying NestJS Application using Vercel and Supabase

Une fois la configuration terminée, cliquez sur le bouton connecter sur la page Accueil. Cela vous montrera différentes options pour connecter la base de données à votre projet

Deploying NestJS Application using Vercel and Supabase

Testez la connexion sur vos sections locales avec les informations d'identification fournies pour vous assurer que tout fonctionne parfaitement.

REMARQUE : Assurez-vous que les informations d'identification ne sont pas exposées et stockées dans votre fichier .env (je crois que vous le savez déjà ?)

Ensuite, créons notre compte Vercel et déployons le projet

Vercel

En règle générale, Vercel est principalement utilisé pour le déploiement d'applications frontales, mais il peut également être utilisé pour déployer des projets backend.

PS : Utilisez plutôt un fournisseur de services adapté si vous travaillez sur un projet de moyenne à grande échelle pour vos déploiements backend.

Sur votre compte Vercel, créez un nouveau projet et connectez-vous à votre référentiel Git. Importez votre fichier .env et cliquez sur le bouton Déployer.

Deploying NestJS Application using Vercel and Supabase

Voila, ça y est ???.
...

Problèmes courants probablement rencontrés

# Erreur : Aucun répertoire de sortie nommé "public"

Deploying NestJS Application using Vercel and Supabase

Il s'agit d'une erreur courante car Vercel a besoin de connaître votre répertoire de sortie pendant le processus de construction. Pour résoudre ce problème, ajoutez simplement un fichier versel.json et copiez ceci :

{
  "version": 2,

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

Exécutez à nouveau le déploiement et c'est tout

...

# Erreur : Cette fonction sans serveur est tombée en panne

Deploying NestJS Application using Vercel and Supabase

Dans mon cas, c'était à cause d'une erreur de module introuvable

Deploying NestJS Application using Vercel and Supabase

...
Il existe plusieurs façons de résoudre ce problème :

Méthode 1 (Remplacez toutes vos importations par un chemin relatif)

Depuis

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

à

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

...

Méthode 2 (Modifiez votre fichier vercel.json et votre fichier .gitignore)

J'ai finalement opté pour cette méthode car je n'avais pas besoin de limiter mon application à l'utilisation uniquement d'importations de chemins relatifs.

Alors, modifiez le vercel.json en ceci

{
  "version": 2,

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

Accédez à votre fichier .gitignore et supprimez /dist.

Exécutez un nouveau déploiement et c'est tout.

Bon codage ! ?

Déclaration de sortie Cet article est reproduit sur : https://dev.to/abayomijohn273/deploying-nestjs-application-using-vercel-and-supabase-3n7m?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3