Maison  >  Article  >  interface Web  >  Qu'est-ce que Nodejs

Qu'est-ce que Nodejs

PHPz
PHPzoriginal
2024-08-01 01:44:23808parcourir

What is Nodejs

Nodejs est un runtime 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, des rendements immédiats signifient 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 chez 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 installateur pré-construit
  • 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 ».

À l'heure actuelle, 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 immédiatement 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`

C'est le 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 listons toutes les autres versions de nodejs dont nous disposons, en utilisant 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, nvm utilise 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 <pkg>` 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
  • J'ai changé dans le 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,…

Another way to run through this without hitting ENTER, ENTER, …, is to do, npm init -y . -y, mean, yes, use the default values.

Primarily, node packages are on npmjs.com. Let’s say we want to install the expressjs library. This is how to search for express on npmjs. The docs will tell you how to install it using the command, 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

i means install. You write it out as npm install express. The package.json will be updated with the package added.

{
  "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"
 }
}

Now, we have a new dependency.

Note that no file or folder will be created. When we do ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • We have node_modules, which is a folder that holds the dependencies (packages) our program will use.
  • Also we have, package-lock.json, which serves as a lockfile, hence the name. It captures the exact versions of the package that we install and use to create our programs. This way, the same packages and their specific versions can be used all the time since different versions of the same package may behave differently.

Anyways, we can install packages in three ways or rather environment. This is basically where you want the package to be used.

  • global: This will be accessible to all node programs you have. Usually, install packages globally when they are general purpose programs like command line utilities.
  • development: This is meant for development only and not used on some remote servers since the remote server will have its way of handling the use case of that dependency. These are usually utility libraries that work with other libraries to achieve a purpose. These may include but are not limited to eslint, prettier, dotenv, etc.
  • production: This is a package that our application primarily relies on to function. Like express.

We can do,

  • npm i -g package-names ... to globally install a package
  • npm i --global package-names ... to globally install a package
  • npm i -S package-names ... to install a package (for production)
  • npm i --save package-names ... to install a package (for production)
  • npm i -D package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm i --save-dev package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm uninstall package-names ... to remove or uninstall package

Essentially this is all that we will need to manage our packages.

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!

Déclaration:
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
Article précédent:Jour f JavaScriptArticle suivant:Jour f JavaScript