Qu’est-ce que NodeJS ?
-
Définition : NodeJS est un environnement d'exécution JavaScript open source et multiplateforme qui vous permet d'exécuter du code JavaScript en dehors d'un navigateur Web.
-
Objectif : il est principalement utilisé pour les scripts côté serveur, où JavaScript est utilisé pour produire du contenu Web dynamique avant que la page ne soit envoyée au navigateur Web de l'utilisateur.
-
Caractéristiques clés :
-
Architecture basée sur les événements : NodeJS utilise un modèle d'E/S non bloquant et piloté par les événements, ce qui le rend efficace et léger.
-
Single-Threaded : Bien que monothread, NodeJS gère les opérations simultanées en utilisant sa nature asynchrone et la boucle d'événements.
-
Construit sur V8 : NodeJS est construit sur le moteur JavaScript V8 de Google Chrome, ce qui le rend extrêmement rapide dans l'exécution du code JavaScript.
Comment NodeJS fonctionne-t-il en arrière-plan ?
Exemple :
const fs = require('fs');
console.log("Start");
// Reading a file asynchronously
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
console.log("End");
Copier après la connexion
Sortie :
Start
End
(contents of example.txt)
Copier après la connexion
Explication :
- NodeJS continue d'exécuter le code après l'appel de la fonction fs.readFile(), sans attendre que le fichier soit lu. Cela démontre son modèle d'E/S non bloquant.
Que sont les modules dans NodeJS ?
-
Définition : Les modules sont des blocs de code encapsulé qui communiquent avec une application externe en fonction de leurs fonctionnalités associées.
-
Types de modules :
-
Modules de base : intégrés à NodeJS (par exemple, fs, http, path, etc.).
-
Modules locaux : Créés par les utilisateurs pour organiser et structurer le code.
-
Modules tiers : installés via npm (par exemple, express, lodash).
Façons d'importer et d'exporter des modules en JavaScript et NodeJS
En JavaScript (modules ES6) :
// Named export
export const add = (a, b) => a + b;
// Default export
export default function subtract(a, b) {
return a - b;
}
Copier après la connexion
// Named import
import { add } from './math.js';
// Default import
import subtract from './math.js';
Copier après la connexion
Dans NodeJS (modules CommonJS) :
// Using module.exports
module.exports.add = (a, b) => a + b;
// Using exports shorthand
exports.subtract = (a, b) => a - b;
Copier après la connexion
// Importing modules
const math = require('./math.js');
const add = math.add;
const subtract = math.subtract;
Copier après la connexion
Qu’est-ce que la gestion des fichiers dans NodeJS ?
-
Définition : la gestion des fichiers dans NodeJS vous permet de travailler avec le système de fichiers de votre machine, notamment la lecture, l'écriture, la mise à jour et la suppression de fichiers.
Fonctions importantes :
-
Certaines des fonctions les plus importantes du module fs :
-
fs.readFile() : lit de manière asynchrone le contenu d'un fichier.
-
fs.writeFile() : écrit de manière asynchrone des données dans un fichier, en remplaçant le fichier s'il existe déjà.
-
fs.appendFile() : ajoute des données à un fichier. Si le fichier n'existe pas, il crée un nouveau fichier.
-
fs.unlink() : Supprime un fichier.
-
fs.rename() : renomme un fichier.
Exemple :
const fs = require('fs');
// Writing to a file
fs.writeFile('example.txt', 'Hello, NodeJS!', (err) => {
if (err) throw err;
console.log('File written successfully.');
// Reading the file
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log('File contents:', data);
// Appending to the file
fs.appendFile('example.txt', ' This is an appended text.', (err) => {
if (err) throw err;
console.log('File appended successfully.');
// Renaming the file
fs.rename('example.txt', 'newExample.txt', (err) => {
if (err) throw err;
console.log('File renamed successfully.');
// Deleting the file
fs.unlink('newExample.txt', (err) => {
if (err) throw err;
console.log('File deleted successfully.');
});
});
});
});
});
Copier après la connexion
Sortie :
File written successfully.
File contents: Hello, NodeJS!
File appended successfully.
File renamed successfully.
File deleted successfully.
Copier après la connexion
Comment créer un serveur dans NodeJS ?
-
Utilisation du module http : Le module http est un module principal de NodeJS qui vous permet de créer un serveur qui écoute les requêtes sur un port spécifique et envoie des réponses.
Exemple :
const http = require('http');
// Creating a server
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!\n');
});
// Listening on port 3000
server.listen(3000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
Copier après la connexion
Sortie :
Server running at http://127.0.0.1:3000/
Copier après la connexion
-
Explanation: The server responds with "Hello, World!" every time it receives a request. The server listens on localhost (127.0.0.1) at port 3000.
What is an HTTP Module?
-
Definition: The http module in NodeJS provides functionalities to create HTTP servers and clients.
Important Functions?
-
Some of the most important functions of HTTP module are:
-
http.createServer(): Creates an HTTP server that listens to requests and sends responses.
-
req.method: Retrieves the request method (GET, POST, etc.).
-
req.url: Retrieves the URL of the request.
-
res.writeHead(): Sets the status code and headers for the response.
-
res.end(): Signals to the server that all of the response headers and body have been sent.
Example:
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Welcome to the homepage!\n');
} else if (req.url === '/about') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Welcome to the about page!\n');
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('404 Not Found\n');
}
});
server.listen(3000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
Copier après la connexion
Output:
- If you navigate to http://127.0.0.1:3000/, the server will display "Welcome to the homepage!".
- If you navigate to http://127.0.0.1:3000/about, the server will display "Welcome to the about page!".
- If you navigate to any other URL, the server will display "404 Not Found".
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!