Création de votre première application Node.js
Dans le développement PHP traditionnel, un serveur HTTP comme Apache ou Nginx est requis, et mod_php ou php-cgi doit être configuré pour gérer les scripts PHP, générant ainsi du contenu dynamique. En d'autres termes, PHP dépend d'un serveur HTTP externe pour recevoir les requêtes et servir les pages web.
Node.js dispose lui-même d'un module de serveur HTTP intégré. Cela signifie que lors du développement avec Node.js, les développeurs peuvent utiliser directement le module HTTP de Node.js pour créer un serveur, gérer les requêtes HTTP et générer des pages web. Par conséquent, dans Node.js, la logique d'une application web et l'implémentation du serveur HTTP sont étroitement intégrées, et les développeurs n'ont pas besoin de dépendre d'un logiciel de serveur HTTP externe.
Avant de créer notre première application Node.js « Hello, World! », commençons par comprendre de quelles parties se compose une application Node.js :
directive require: Dans Node.js, la directive require est utilisée pour charger et importer des modules. Les modules importés peuvent être des modules intégrés, des modules tiers ou des modules personnalisés.
Créer un serveur :Le serveur peut écouter les requêtes des clients, comme les serveurs HTTP tels qu'Apache et Nginx.
Recevoir des requêtes et y répondreLe serveur est très facile à créer. Les clients peuvent envoyer des requêtes HTTP à l'aide d'un navigateur ou d'un terminal, et après réception de la requête, le serveur renvoie les données de réponse.
Créer une application Node.js
Étape 1 : Utiliser la directive require pour charger et importer des modules
La syntaxe est la suivante :
const module = require('module-name');
Ici, module-name peut être un chemin de fichier (relatif ou absolu) ou un nom de module. S'il s'agit d'un nom de module, Node.js recherchera automatiquement le module dans le répertoire node_modules.
La directive require renvoie l'objet exporté du module chargé, grâce auquel vous pouvez accéder aux propriétés et méthodes définies dans le module. Si le module possède plusieurs objets exportés, vous pouvez utiliser l'affectation par déstructuration pour les obtenir.
Nous utilisons la directiverequirepour charger le module http, et affectons l'instance HTTP à la variable http, comme montré dans l'exemple ci-dessous :
var http = require("http");
Étape 2 : Créer un serveur
Ensuite, nous utilisons la méthode http.createServer() pour créer un serveur, et la méthode listen pour le lier au port 8888. La fonction reçoit et répond aux données via les paramètres request et response.
Voici un exemple. Créez un fichier nommé server.js dans le répertoire racine de votre projet et écrivez le code suivant :
Exemple
http.createServer(function (request, response) {
// Envoyer l'en-tête HTTP
// Valeur du statut HTTP : 200 : OK
// Type de contenu : text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Envoyer les données de réponse "Hello World"
response.end('Hello World\n');
}).listen(8888);
// Le terminal affiche les informations suivantes
console.log('Server running at http://127.0.0.1:8888/');
Avec le code ci-dessus, nous avons terminé un serveur HTTP fonctionnel.
Utilisez la commandenodepour exécuter le code ci-dessus :
node server.js Server running at http://127.0.0.1:8888/

Ensuite, ouvrez un navigateur et visitez http://127.0.0.1:8888/. Vous verrez une page web avec "Hello World".

Analysez le serveur HTTP Node.js :
const http = require('http');: Importer le module intégré de Node.jshttpmodule.http.createServer((req, res) => { ... });: Créer un nouveau serveur HTTP qui exécute la fonction de rappel chaque fois qu'une requête est effectuée.res.writeHead(200, { 'Content-Type': 'text/plain' });: Définir le code d'état de la réponse et le type de contenu.res.end('Hello World\n');: Terminer la réponse et envoyer les données.server.listen(PORT, () => { ... });: Écouter sur le port spécifié et afficher les informations après le démarrage du serveur.
Démonstration d'exemple GIF
Ensuite, nous allons démontrer l'opération d'exemple à l'aide d'un GIF :
Autres extensions