Express.js
Aperçu
Express.js est un framework web rapide, sans avis tranché et minimaliste pour Node.js. Il offre des fonctionnalités robustes pour créer des applications web et des API REST avec un accent sur la simplicité et la flexibilité.
Démarrage rapide
Créer un dépôt à partir du modèle
Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Express dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".
Cloner votre dépôt
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installer les dépendances
npm install
Démarrer le serveur de développement
npm run dev
Le serveur s'exécute par défaut sur http://localhost:3000.
Pousser vos modifications
git add .
git commit -m "Initial setup"
git push origin main
Développement local avec Docker
Si vous n'avez pas Node.js installé localement, vous pouvez utiliser Docker pour exécuter les commandes Express.
Exécuter des commandes avec Docker
# Exécuter npm install
docker run --rm -v $(pwd):/app -w /app node:lts npm install
# Exécuter le serveur de développement
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:lts npm run dev
Structure du projet
├── src/
│ ├── controllers/ # Gestionnaires de requêtes
│ ├── middleware/ # Middleware personnalisé
│ ├── models/ # Modèles de base de données
│ ├── routes/ # Définitions de routes
│ └── server.js # Configuration de l'app Express
├── views/ # Fichiers template EJS
├── public/ # Fichiers statiques
├── prisma/ # Schéma Prisma
├── package.json # Dépendances
└── Dockerfile # Config Docker
Tâches courantes
Créer une route
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.json({ message: 'Get all users' });
});
module.exports = router;
Utiliser Prisma ORM
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
const users = await prisma.user.findMany();
const user = await prisma.user.create({
data: { name: 'John', email: 'john@example.com' }
});
Commandes utiles
npm run dev
Démarrer le serveur de dev avec nodemon
npm start
Démarrer le serveur de production
npx prisma migrate dev
Exécuter les migrations Prisma
Dépannage
Échec de la connexion à la base de données
Solution : Vérifiez DATABASE_URL dans le fichier .env. Format : mysql://user:password@host:port/database
Le port 3000 est déjà utilisé
Solution : Modifiez PORT dans le fichier .env ou arrêtez l'autre processus.