Maison > Article > interface Web > Examen du nœud JS
Ce week-end, j'ai décidé de revoir un peu JavaScript et Node. C'est parce que je suis tombé sur la définition en testant un projet qui apparaissait dans mon flux GitHub.
Je prévois également d'étudier certains sujets comme la boucle des événements et les promesses plus en profondeur, donc une révision serait formidable.
Voici mes notes.
C'est un environnement (runtime) qui permet d'exécuter JavaScript côté serveur. Avec lui, vous pouvez créer des applications qui s'exécutent en dehors du navigateur (applications back-end, mobiles, de bureau...).
Juste pour vous rappeler, JavaScript est un langage de programmation interprété et multi-paradigmes créé pour ajouter de l'interactivité aux pages Web, c'est-à-dire qu'il a été développé dans l'intention d'être utilisé dans le navigateur.
Il existe aujourd'hui d'autres environnements d'exécution JavaScript tels que Deno ou Bun, mais Node a été le pionnier, lancé en 2009.
La possibilité de développer à la fois le front-end et le back-end d’une application en utilisant un seul langage de programmation est fantastique. Cette capacité est l’un des grands avantages de JavaScript, même si certains professionnels remettent en question son utilisation côté serveur.
En pensant à la devise de Java "Écrivez une fois, exécutez n'importe où", nous avons la nôtre : apprenez une fois, créez tout.
Node est basé sur le moteur V8 de Google Chrome, qui lit et exécute le code JavaScript dans le navigateur. Une caractéristique importante est qu'un moteur JavaScript est indépendant du navigateur dans lequel il s'exécute, ce qui a permis la création de Node et d'autres environnements.
Il existe d'autres moteurs JavaScript :
JavaScript est considéré comme un langage interprété mais les moteurs ont une étape de compilation juste à temps (JIT), ce qui en fait un langage interprété et compilé.
Il est important de noter que Node n'a pas accès aux API de manipulation du DOM, des fenêtres, etc. Au lieu de cela, il dispose de sa bibliothèque standard qui vous permet d'accéder au système de fichiers, d'écouter les requêtes HTTP, de générer des UUID, d'émettre des événements et bien d'autres choses.
// ❌ const element = document.getElementById('js-in-server') console.log(element.textContent) // ✅ import fs from 'fs' fs.readFile('js-is-really-cool.md', 'utf-8', (err, content) => { console.log(content) })
Node est équipé du gestionnaire de packages NPM (Node Package Manager) qui est utilisé pour organiser, installer et résoudre les dépendances du projet. NPM est également le registraire de packages par défaut, c'est là que les bibliothèques et les frameworks sont enregistrés pour une utilisation ultérieure.
Juste pour clarifier, il existe l'outil de gestion de packages NPM et le registraire pour ces packages, également appelé NPM. Plus d’informations ici.
Les alternatives à l'outil sont le fil et le pnpm. L'environnement Bun dispose également d'un gestionnaire de packages compatible avec Node et destiné à être le remplacement le plus rapide parmi les options que j'ai mentionnées précédemment.
En parlant du registraire, une sorte d'alternative moderne est récemment apparue qui prétend être conçue pour Typescript et ESM, JSR.
Quelques "nouvelles" fonctionnalités vraiment intéressantes dont je me souviens ont été ajoutées à Node :
C'est tout pour l'instant, j'ai l'intention de mettre à jour cette revue pour couvrir ce qu'est la boucle événementielle et son importance.
Un fait amusant est que j'ai développé mon premier serveur HTTP en utilisant Node et c'est avec lui que j'ai découvert que j'aimais le back-end.
Merci d'avoir lu !
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!