Maison  >  Article  >  interface Web  >  Créer un backend personnalisé avec Node.js : un guide étape par étape

Créer un backend personnalisé avec Node.js : un guide étape par étape

Barbara Streisand
Barbara Streisandoriginal
2024-10-18 22:43:02722parcourir

Building a Custom Backend with Node.js: A Step-by-Step Guide

La création d'un backend personnalisé dans Node.js implique plusieurs étapes, de la configuration d'un environnement Node.js à la création et au déploiement de votre API. Vous trouverez ci-dessous un guide détaillé, étape par étape, pour créer un backend personnalisé à l'aide de Node.js :

Étape 1 : Configurez votre environnement de développement

Avant de commencer à coder, vous devez avoir installé les éléments suivants sur votre machine :

  • Node.js : le moteur d'exécution pour exécuter JavaScript côté serveur. Vous pouvez le télécharger depuis nodejs.org.
  • NPM (Node Package Manager) : il est fourni avec Node.js. Vous l'utiliserez pour installer et gérer des bibliothèques.

Pour vérifier si Node.js et NPM sont installés, exécutez :

node -v
npm -v

S'ils sont installés, vous verrez leurs numéros de version. Sinon, installez Node.js.

Étape 2 : Créer un nouveau projet

  1. Créer un dossier de projet :
mkdir my-custom-backend
cd my-custom-backend
  1. Initialiser un fichier package.json :
npm init -y

Cette commande crée un fichier package.json de base, qui gérera vos dépendances.

Étape 3 : Installer les packages requis

Vous devrez installer certains packages pour créer votre backend.

  • Express : un framework d'application Web Node.js minimal et flexible qui fournit un ensemble robuste de fonctionnalités pour la création d'applications Web et mobiles.
  • Nodemon : Un outil qui permet de développer des applications Node.js en redémarrant automatiquement le serveur lorsque des modifications de fichiers dans le répertoire sont détectées.
  • Body-parser : un middleware pour gérer les données de formulaire codées en JSON et en URL.
  • dotenv : Pour gérer les variables d'environnement.

Installez ces dépendances en exécutant :

npm install express body-parser dotenv
npm install --save-dev nodemon
  • express : framework de base pour gérer les requêtes HTTP.
  • body-parser : Middleware pour analyser les requêtes entrantes dans un middleware avant vos gestionnaires, accessible via req.body.
  • dotenv : Pour charger des variables d'environnement à partir d'un fichier .env dans process.env.
  • nodemon : redémarre automatiquement le serveur lorsque le code change (à des fins de développement).

Étape 4 : Créer le fichier serveur

À la racine du projet, créez un fichier appelé server.js. Ce fichier gérera la configuration du serveur Express.

touch server.js

Dans server.js, ajoutez le code suivant :

// Import necessary modules
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');

// Load environment variables
dotenv.config();

// Initialize the app
const app = express();

// Middleware to parse JSON data
app.use(bodyParser.json());

// Define a basic route
app.get('/', (req, res) => {
  res.send('Welcome to my custom Node.js backend!');
});

// Start the server
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});

Ce fichier configure un serveur Express qui écoute les demandes et répond par un simple message.

Étape 5 : Exécutez le serveur

Pour exécuter votre serveur, vous pouvez utiliser la commande node :

node -v
npm -v

Cependant, pour le développement, il est préférable d'utiliser nodemon pour redémarrer automatiquement le serveur lorsque vous effectuez des modifications :

mkdir my-custom-backend
cd my-custom-backend

Maintenant, visitez http://localhost:3000 dans votre navigateur. Vous devriez voir :

npm init -y

Étape 6 : Définir les itinéraires et les gestionnaires

Ensuite, vous souhaiterez ajouter des itinéraires personnalisés pour votre backend. Par exemple, vous pouvez créer une API qui gère les informations utilisateur :

npm install express body-parser dotenv
npm install --save-dev nodemon
  • GET /users : récupère tous les utilisateurs.
  • GET /users/:id : récupère un utilisateur par son identifiant.
  • POST /users : ajoute un nouvel utilisateur.
  • DELETE /users/:id : Supprime un utilisateur par son identifiant.

Étape 7 : Utiliser les variables d'environnement

Vous pouvez configurer les variables d'environnement à l'aide du package dotenv. Créez un fichier .env dans le répertoire racine :

touch server.js

Dans .env, vous pouvez définir des variables telles que :

// Import necessary modules
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');

// Load environment variables
dotenv.config();

// Initialize the app
const app = express();

// Middleware to parse JSON data
app.use(bodyParser.json());

// Define a basic route
app.get('/', (req, res) => {
  res.send('Welcome to my custom Node.js backend!');
});

// Start the server
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});

Cette variable sera utilisée dans votre server.js pour définir le port de manière dynamique :

node server.js

Étape 8 : Ajouter la gestion des erreurs et le middleware

Le middleware dans Express est une fonction qui a accès à l'objet de requête (req), à l'objet de réponse (res) et à la fonction middleware suivante dans le cycle requête-réponse de l'application.

Vous pouvez créer un middleware personnalisé pour la gestion des erreurs :

npx nodemon server.js

Cela détecte toutes les erreurs non gérées dans votre candidature et répond avec un code d'état 500.

Étape 9 : Structurez votre projet (facultatif)

À mesure que votre candidature grandit, c'est une bonne idée de l'organiser correctement :

Welcome to my custom Node.js backend!
  • controllers/ : gère la logique des routes API.
  • routes/ : définit les points de terminaison et les connecte aux contrôleurs.
  • models/ : Gère les structures de données, éventuellement en utilisant une base de données à l'avenir.

Étape 10 : Connectez-vous à une base de données (facultatif)

Si vous souhaitez conserver les données, vous pouvez connecter votre backend à une base de données. Par exemple :

  • MongoDB : Utilisation de mangouste pour interagir avec une base de données MongoDB.
  • MySQL/PostgreSQL : Utilisation de sequelize ou de pg pour interagir avec les bases de données SQL.

Pour MongoDB, installez mangouste :

// Example user data
let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Doe' }
];

// Route to get all users
app.get('/users', (req, res) => {
  res.json(users);
});

// Route to get a user by ID
app.get('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  const user = users.find((u) => u.id === userId);

  if (user) {
    res.json(user);
  } else {
    res.status(404).send('User not found');
  }
});

// Route to create a new user
app.post('/users', (req, res) => {
  const newUser = {
    id: users.length + 1,
    name: req.body.name
  };
  users.push(newUser);
  res.status(201).json(newUser);
});

// Route to delete a user by ID
app.delete('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  users = users.filter((u) => u.id !== userId);
  res.status(204).send();
});

Dans serveur.js :

touch .env

Étape 11 : tester votre API avec Postman ou Curl

Pour tester votre API, vous pouvez utiliser Postman ou curl :

PORT=3000

Ou, vous pouvez installer Postman, qui fournit une interface graphique pour faire des demandes et afficher les réponses.

Étape 12 : Déployez votre backend

Une fois votre backend prêt, vous pouvez le déployer à l'aide d'une plateforme cloud telle que :

  • Heroku : Pour un déploiement rapide.
  • AWS EC2 : Pour plus de contrôle sur le serveur.
  • DigitalOcean : Pour un hébergement cloud simple.

Pour le déploiement, assurez-vous que votre PORT est dynamique et que les informations sensibles telles que les clés API sont stockées dans des variables d'environnement.

Conclusion

En suivant ces étapes, vous disposez désormais d'un backend personnalisé de base construit à l'aide de Node.js. Vous pouvez continuer à étendre cela en ajoutant l'authentification, en vous connectant à une base de données et en gérant des fonctionnalités avancées telles que la communication en temps réel avec WebSockets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn