Maison > interface Web > js tutoriel > le corps du texte

Examen du nœud JS

Mary-Kate Olsen
Libérer: 2024-11-01 14:33:02
original
160 Les gens l'ont consulté

Revisando Node 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.

Qu'est-ce que Node

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 :

  • Firefox utilise SpiderMonkey
  • Safari utilise JavaScriptCore
  • Edge a utilisé le Chakra et utilise actuellement le V8

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)
})
Copier après la connexion

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 :

  • Chargement des variables d'environnement (.env)
  • Test Runner, introduit de manière stable dans la version 20.x
  • Exécution dactylographiée, encore expérimentale

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!