"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Qu'est-ce que Nodejs

Qu'est-ce que Nodejs

Publié le 2024-08-01
Parcourir:899

What is Nodejs

Nodejs est un environnement d'exécution JavaScript. Cela signifie que nodejs est un programme qui vous permet d'exécuter JavaScript en dehors du navigateur. En conséquence, on peut développer des applications backend en utilisant nodejs. Désormais, cela ne se limite pas au backend. Nous pouvons créer des applications de bureau, des IoT et des applications cloud, pour n'en citer que quelques-unes. Nodejs est multiplateforme. Le programme lui-même exécute Linux, Windows et macOS.

Pourquoi devrait-on utiliser Nodejs

Nodejs présente certains avantages, notamment :

  • E/S non bloquantes
  • Asynchrone
  • Évolutif
  • Conduite événementielle
  • a une faible latence
  • a un filetage
  • peut être utilisé partout, n'importe où
  • avoir une grande communauté

Comme le dit le proverbe, les rendements immédiats entraînent des inconvénients à long terme. L'inconvénient ici est le javascript (j'adore le javascript d'ailleurs) et parfois le fait de ne pas concevoir le système que vous souhaitez construire en gardant à l'esprit la mise à l'échelle. Encore une fois, ce ne sont pas Nodejs mais les outils et les humains qui utilisent Nodejs.

Vous pouvez en savoir plus sur nodejs ici

Installation

Les gens de Nodejs sont intelligents, respectez cela. Ils ont rendu l'installation plus facile pour vous et moi. Les personnes sans connaissances techniques peuvent configurer Nodejs et commencer à écrire du code. Ils ont fourni des options où l'on peut utiliser :

  • un gestionnaire de paquets
  • un programme d'installation prédéfini
  • un binaire pré-construit
  • et installation en construisant le code source

Parmi ceux-ci, les trois premiers sont amicaux. Alors choisissez-en un. Passons à download-nodejs et « laissons là un nodejs ».

À partir de ce moment, la version actuelle du nœud est 22 et LTS (avec support à long terme) est 20.

Je suis sur une machine Linux, je vais donc procéder à l'installation avec nvm (Node version manager). Cela nous donne le sentiment que nous pouvons avoir plusieurs versions de nodejs. Cela fonctionnera également pour macOS.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Il s'agit du même script sur la plateforme nodejs (site web). Il ne devrait donc y avoir aucun problème lorsque vous exécutez ces commandes.

Pour Windows, quelque chose de similaire sera

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Ou téléchargez simplement l'installation prédéfinie, node-prebuilt-installer. En fin de compte, vous devriez pouvoir exécuter les deux dernières commandes pour vérifier vos installations.

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

MVN

nvm n'était pas une option pour Windows lors de l'installation mais il peut être installé ici, et en connaître un peu sera éducatif.

Nous répertorions toutes les autres versions de nodejs dont nous disposons, à l'aide de la commande nvm list

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

D'après ce qui précède, nous pouvons dire que la v18.18.0 est le nodejs que j'utilise.

Nous pouvons installer une autre version comme la 20 LTS, en utilisant nvm install 20

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

Ceci est automatiquement passé à la v20.15.1. Quel est le dernier LTS.

Maintenant, je peux passer à la version de nœud souhaitée en utilisant nvm 18

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

Et ce sera tout sur nvm

MNP

npm est un gestionnaire de packages de nœuds. Si vous vous demandez ce qu’est un forfait, ne stressez pas. Un package est identique à une bibliothèque. Certains extraits de code ou programmes écrits par une autre personne peuvent être utilisés dans notre programme pour faire quelque chose. Un package est donc destiné à résoudre un problème et tout ça. npm et d'autres gestionnaires de packages de nœuds comme fil, pnpm, bun et autres nous aident à gérer les packages que nous installons pour notre projet. Nous nous concentrerons uniquement sur npm ici.

Pour démarrer un projet nodejs (pas seulement javascript), nous devons utiliser des packages de nœuds. Je veux dire, il y a des moments où nous développons un programme entier sans nous appuyer sur des bibliothèques tierces (des programmes que nous n'avons pas écrits ni fournis avec Nodejs).

Nous pouvons créer une application nodejs en créant un fichier node packege.json avec la commande npm init. Faites npm init --help pour en savoir plus sur npm init. Il est généralement préférable de démarrer un programme de nœud dans un nouvel environnement (dossier). Nous allons donc en créer un et l'appeler helloworld. J'utiliserai le terminal.

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • J'ai créé un dossier appelé mkdir helloworld
  • Je suis passé au dossier helloworld, cd helloworld
  • J'initialise ensuite le nœud, npm init

Ce sera comme un assistant d'installation, vous guidant à travers les étapes de configuration. Notez que vous pourrez le mettre à jour ultérieurement. Il vous suffit d'appuyer sur ENTER, ENTER jusqu'à ce que tout le processus soit terminé. Lorsque vous ouvrez le dossier helloworld dans un explorateur de fichiers, vous verrez un nouveau fichier, package.json avec son contenu similaire à celui ci-dessus.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Cette configuration est intuitive. Il vous indique le nom du projet (ou programme) que nous sommes sur le point de créer. Il utilise le nom du dossier parent comme nom du projet. Lors du processus d'initialisation du nœud (projet), nous aurions pu lui donner un nom et même fournir des valeurs aux autres champs. C'est là que nous appuyions sur ENTER, ENTER,…

Une autre façon de parcourir cela sans appuyer sur ENTER, ENTER,… est de faire, npm init -y . -y, signifie, oui, utilise les valeurs par défaut.

Principalement, les packages de nœuds se trouvent sur npmjs.com. Disons que nous voulons installer la bibliothèque expressjs. Voici comment rechercher express sur npmjs. La documentation vous expliquera comment l'installer à l'aide de la commande npm i express.

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

je veux dire installer. Vous l'écrivez sous la forme npm install express. Le package.json sera mis à jour avec le package ajouté.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

Maintenant, nous avons une nouvelle dépendance.

Notez qu'aucun fichier ou dossier ne sera créé. Quand on fait ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • Nous avons node_modules, qui est un dossier contenant les dépendances (packages) que notre programme utilisera.
  • Nous avons également package-lock.json, qui sert de fichier de verrouillage, d'où son nom. Il capture les versions exactes du package que nous installons et utilisons pour créer nos programmes. De cette façon, les mêmes packages et leurs versions spécifiques peuvent être utilisés à tout moment puisque différentes versions du même package peuvent se comporter différemment.

Quoi qu'il en soit, nous pouvons installer des packages de trois manières ou plutôt dans l'environnement. C'est essentiellement là que vous souhaitez que le package soit utilisé.

  • global : ceci sera accessible à tous les programmes de nœuds dont vous disposez. Habituellement, installez les packages globalement lorsqu'il s'agit de programmes à usage général tels que des utilitaires de ligne de commande.
  • développement : ceci est destiné au développement uniquement et n'est pas utilisé sur certains serveurs distants, car le serveur distant aura sa manière de gérer le cas d'utilisation de cette dépendance. Il s'agit généralement de bibliothèques utilitaires qui fonctionnent avec d'autres bibliothèques pour atteindre un objectif. Ceux-ci peuvent inclure, sans toutefois s'y limiter, eslint, plus joli, dotenv, etc.
  • production : il s'agit d'un package sur lequel notre application s'appuie principalement pour fonctionner. Comme express.

Nous pouvons faire,

  • npm i -g package-names ... pour installer globalement un package
  • npm i --global package-names ... pour installer globalement un package
  • npm i -S package-names ... pour installer un package (pour la production)
  • npm i --save package-names ... pour installer un package (pour la production)
  • npm i -D package-names ... pour installer un package (pour le développement, vous n'en aurez pas besoin pour faire fonctionner notre application)
  • npm i --save-dev package-names ... pour installer un package (pour le développement, vous n'en aurez pas besoin pour faire fonctionner notre application)
  • npm uninstall package-names ... pour supprimer ou désinstaller le package

Essentiellement, c'est tout ce dont nous aurons besoin pour gérer nos colis.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/otumianempire/what-is-nodejs-4h10?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3