Applicativo Client Server REACT-NODE-Express

Ben ritrovato. Ecco la parte teorica del tuo nuovo progettino che ti aprirà una nuova visione sulle mobile app client-serve con l’utilizzo dell’API. In qu...

Bonjour. Voici la partie théorique de votre nouveau projet qui vous ouvrira une nouvelle vision sur les applications mobiles client-serveur en utilisant l'API. Dans cet article, je vous expliquerai comment relier votre front-end React créé avec Vite à votre back-end Node.js ou Express. Sans plus tarder, commençons.

Tout d'abord, j'ai ouvert VS Code dans un répertoire appelé vite-express-video, ici j'ai ouvert le terminal et nous allons commencer par créer notre front-end React. Ensuite, je vous guiderai dans la configuration du back-end.

Pour commencer, j'ai créé le répertoire vite-express-video et avec l'invite de commande terminal, vous pouvez utiliser la commande

Code . dans le répertoire et vs code s'ouvrira directement

> code . dans le répertoire et vs code s'ouvrira directement


Nous pouvons donc commencer avec npm create vite@latest (ou npm create vite) et on nous posera une série de questions concernant notre application. Tout d'abord, nous devons installer le paquet create-vite, donc j'appuie sur Entrée.

Pour plus d'informations, je peux faire référence au site

https://vite.dev/guide/ dans la section scaffolding

On me demandera le nom du projet, et pour cela, j'écrirai simplement client.

Ensuite, on me demandera de sélectionner un framework : comme on peut le deviner du titre de la vidéo, nous allons sélectionner React.
À la voix variant, je sélectionne JavaScript. (attention, ce projet peut tester cette modalité)


Maintenant que le projet est créé, nous entrons dans le répertoire client avec cd client et ensuite nous exécutons

npm install

pour installer toutes les dépendances nécessaires. Après quelques secondes, une fois que toutes les dépendances sont installées, nous pouvons procéder à la configuration du back-end.

PARTIE SERVEUR

Par conséquent, une fois le front-end créé, je vous montre maintenant comment créer le serveur.

Je crée un répertoire server en allant dans la section Explorer et en cliquant sur l'icône de « créer un dossier ».
Ensuite, je nettoie le terminal et j'entre dans le répertoire server avec cd .. pour sortir de client, et puis /server pour entrer dans server. (Navigation de base dans le dossier !)


Ici, j'exécute npm init -y pour générer un fichier package.json avec les paramètres par défaut.

Si vous développez le répertoire server, vous verrez que le fichier a été créé. Maintenant, ouvrez package.json pour le configurer.

Nous changeons le point d'entrée du serveur de index.js (valeur par défaut) à server.js. C'est juste pour la préférence personnelle : si vous le souhaitez, vous pouvez laisser index.js ou utiliser un autre nom.
Je crée donc le fichier avec touch server.js, qui apparaît maintenant dans le projet.

Maintenant, nous installons les dépendances nécessaires pour le back-end.
Tout d'abord, je nettoie le terminal et j'installe Express avec npm i express. Ensuite, j'installe nodemon avec npm i nodemon -D pour que le serveur redémarre automatiquement lorsque nous modifions le code.

Après l'installation, nous mettons à jour les scripts dans package.json.

Nous ajoutons :

« start » : « node server »,
« dev » : « nodemon server »

Assurez-vous qu'après node ou nodemon, il y a le nom correct de votre fichier de démarrage (dans ce cas, server.js).

Maintenant, nous pouvons commencer à créer notre API back-end. Nous ouvrons server.js et écrivons :

const express = require(‘express’);
const app = express();

app.get(‘/api’, (req, res) => {
res.json({ fruits: [‘apple’, ‘orange’, ‘banana’] });
});

app.listen(8080, () => {
console.log(‘Serveur démarré sur le port 8080’);
});

Le serveur écoute sur le port 8080. Si vous allez sur http://localhost:8080/api dans le navigateur, vous verrez un objet avec un tableau appelé fruits.

Maintenant, nous devons configurer CORS pour que le back-end accepte les requêtes du front-end. Nous ouvrons un nouveau terminal dans le répertoire server et exécutons npm i cors.
Ensuite, dans le code, nous importons et configurons CORS :

const cors = require(‘cors’);
const corsOptions = { origin: ‘http://localhost:5173’ };
app.use(cors(corsOptions));

Parfait. Maintenant, nous pouvons passer au front-end. Nous entrons dans le répertoire client avec cd ../client, nettoyons le terminal, et installons Axios avec npm i axios.

Nous ouvrons src/App.jsx, démarrons le serveur front-end avec npm run dev, et visitons http://localhost:5173.
Pour tester le fetching des données, nous faisons ainsi :

import { useEffect, useState } from ‘react’;
import axios from ‘axios’;

function App() {
const [array, setArray] = useState([]);

useEffect(() => {
const fetchApi = async () => {
const response = await axios.get(‘http://localhost:8080/api’);
console.log(response.data.fruits);
setArray(response.data.fruits);
};
fetchApi();
}, []);

return (

{array.map((fruit, index) => (

{fruit}

))}

);
}

export default App;

Maintenant, si vous mettez à jour la page, vous verrez apple, orange et banana affichés.
Si vous modifiez les données dans le back-end (par exemple, de orange à strawberry), en sauvegardant et en mettant à jour le front-end, vous verrez le changement appliqué automatiquement, grâce à nodemon.

Résumé :