Fermer

avril 16, 2019

Guide du débutant de npm – Le gestionnaire de packages de nœuds –

ES6 en action: let et const


Node.js permet d'écrire des applications en JavaScript sur le serveur. Il est basé sur le moteur d'exécution de V8 JavaScript et écrit en C ++ – il est donc rapide. À l'origine, il était conçu comme un environnement de serveur pour les applications, mais les développeurs ont commencé à l'utiliser pour créer des outils facilitant l'automatisation des tâches locales. Depuis lors, un nouvel écosystème complet d'outils basés sur les nœuds (tels que Grunt Gulp et Webpack ) a évolué pour transformer le visage du développement frontal. .

Cet article a été mis à jour le avril 2019 pour refléter l'état actuel de npm.

Pour utiliser ces outils (ou packages) dans Node.js, nous devons pouvoir l'installer. et les gérer de manière utile. C'est ici qu'intervient npm, le gestionnaire de packages de nœud. Il installe les packages que vous souhaitez utiliser et fournit une interface utile pour les utiliser.

Dans cet article, je vais examiner les bases de l'utilisation de npm. . Je vais vous montrer comment installer des packages en mode local et global, ainsi que supprimer, mettre à jour et installer une certaine version d'un package. Je vais également vous montrer comment utiliser package.json pour gérer les dépendances d’un projet. Si vous êtes davantage amateur de vidéo, pourquoi ne pas vous inscrire à SitePoint Premium et visionner notre capture d'écran gratuite: Qu'est-ce que npm et comment puis-je l'utiliser? .

Mais avant de commencer à utiliser npm , nous devons d’abord installer Node.js sur notre système. Faisons-le maintenant…

Installation de Node.js

Allez à la page de téléchargement de Node.js et récupérez la version dont vous avez besoin. Des programmes d’installation Windows et Mac sont disponibles, ainsi que des fichiers binaires Linux pré-compilés et du code source. Pour Linux, vous pouvez également installer Node via le gestionnaire de paquets, comme indiqué ici .

Pour ce didacticiel, nous allons utiliser la version 10.15.3 Stable. Au moment de la rédaction du présent document, il s'agit de la version actuelle du support de Node [LTS] .

Conseil : Vous pouvez également envisager d'installer Node à l'aide d'un gestionnaire de versions. . Cela annule le problème des autorisations soulevé dans la section suivante.

Voyons où le noeud a été installé et vérifions la version.


/ usr / bin / node
$ node --version
v10.15.3

Pour vérifier que votre installation a abouti, donnons l’essai de la réplique de noeud au noeud.

 $ node
> console.log ('Le noeud est en cours d'exécution');
Le nœud est en cours d'exécution
> .help
.break Parfois, vous êtes bloqué, cela vous sort
.clear Alias ​​pour .break
.editor Entrer en mode éditeur
.exit Quitter le repl
.help Afficher les options de remplacement
.load Charge JS depuis un fichier dans la session REPL
.save Enregistrer toutes les commandes évaluées dans cette session REPL dans un fichier
> .exit

L'installation de Node.js a fonctionné, nous pouvons donc maintenant nous concentrer sur npm, qui était inclus dans l'installation.

 $ dont npm
/ usr / bin / npm
$ npm --version
6.4.1

Mise à jour de npm

npm, gestionnaire de paquets de Node.js, est un projet distinct de Node.js. Il a tendance à être mis à jour plus fréquemment. Vous pouvez consulter la dernière version de npm disponible sur cette page . . Si vous vous rendez compte que vous possédez une version plus ancienne, vous pouvez mettre à jour comme suit:

Pour les utilisateurs Linux et Mac, utilisez la commande suivante:

 npm install npm @ latest -g

Pour les utilisateurs Windows, n'exécutez jamais la commande ci-dessus. Si vous l’avez déjà fait, vous ne pourrez pas mettre à jour npm. Vous devrez désinstaller l'intégralité de votre installation Node.js et l'installer à nouveau. Pour mettre à jour correctement npm dans Windows, vous devez procéder comme suit. Ouvrez tout d'abord PowerShell en tant qu'administrateur et exécutez la commande suivante:

 Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

Cela garantira que vous pouvez exécuter des scripts sur votre système. Vous devrez ensuite installer l'outil npm-windows-upgrade . Une fois l’outil installé, vous devez l’exécuter pour pouvoir mettre à jour npm à votre place. Effectuez tout cela dans la console PowerShell surélevée.

 npm install --global --production npm-windows-upgrade
npm-windows-upgrade --npm-version dernière

Modules empaquetés sur les nœuds

npm peut installer des packages en mode local ou global. En mode local, il installe le paquet dans un dossier node_modules de votre répertoire de travail parent. Cet emplacement appartient à l'utilisateur actuel. Les packages globaux sont installés dans {prefix} / lib / node_modules / propriété de root (où {prefix} est généralement / usr / ou . / usr / local ). Cela signifie que vous devrez utiliser sudo pour installer les packages globalement, ce qui pourrait entraîner des erreurs d'autorisation lors de la résolution des dépendances de tiers, tout en posant un problème de sécurité. Changeons cela:

 Entreprise de livraison de colis
Il est temps de gérer ces colis

Modification de l'emplacement des colis globaux

Voyons ce que la sortie npm config nous donne.

 $ npm liste de configuration
; cli configs
user-agent = "npm / 6.9.0 noeud / v10.15.3 linux x64"

; userconfig /home/sitepoint/.npmrc
prefix = "/home/sitepoint/.node_modules_global"

; emplacement de la corbeille du nœud = / usr / bin / nodejs
; cwd = / home / sitepoint
; HOME = / home / sitepoint
; "npm config ls -l" pour afficher tous les paramètres par défaut.

Cela nous donne des informations sur notre installation. Pour le moment, il est important d’obtenir l’emplacement mondial actuel.

 $ npm config get prefix
/ usr

C'est le préfixe que nous voulons changer afin d'installer des paquets globaux dans notre répertoire personnel. Pour ce faire, créez un nouveau répertoire dans votre dossier personnel.

 $ cd ~ && mkdir .node_modules_global
Le préfixe de l'ensemble de configuration $ npm = $ HOME / .node_modules_global

Avec ce simple changement de configuration, nous avons modifié l'emplacement d'installation des packages de noeuds globaux. Cela crée également un fichier .npmrc dans notre répertoire personnel.

 $ npm config get prefix
/home/sitepoint/.node_modules_global
$ cat .npmrc
préfixe = / home / sitepoint / .node_modules_global

NPM est toujours installé dans un emplacement appartenant à root. Mais comme nous avons changé l'emplacement de notre paquet global, nous pouvons en tirer parti. Nous devons installer npm à nouveau, mais cette fois dans le nouvel emplacement appartenant à l'utilisateur. Cela installera également la dernière version de npm.

 npm install npm @ latest -g

Enfin, nous devons ajouter .node_modules_global / bin à notre variable d'environnement $ PATH afin que nous puissions exécuter des packages globaux à partir de la ligne de commande. Pour ce faire, ajoutez la ligne suivante à votre . Profil .bash_profile ou .bashrc et redémarrez votre terminal.

 export PATH = "$ HOME / .node_modules_global / bin: $ PATH "

Maintenant notre .node_modules_global / bin sera trouvé en premier et la version correcte de npm sera utilisée.

 $ qui npm
/home/sitepoint/.node_modules_global/bin/npm
$ npm --version
6.9.0

Installation de paquetages en mode global

Pour le moment, nous n'avons installé qu'un seul paquet dans le monde – c'est le paquet npm lui-même. Alors changeons cela et installons UglifyJS (un outil de minification en JavaScript). Nous utilisons le drapeau - global mais cela peut être abrégé en -g .

 $ npm installer uglify-js --global
/home/sitepoint/.node_modules_global/bin/uglifyjs -> /home/sitepoint/.node_modules_global/lib/node_modules/uglify-js/bin/uglifyjs
+ uglify-js@3.5.3
a ajouté 3 paquets en provenance de 38 contributeurs dans 3.282s

Comme vous pouvez le constater à la sortie, des packages supplémentaires sont installés – il s'agit des dépendances d'UglifyJS.

Liste des packages globaux

Nous pouvons répertorier les packages globaux que nous avons installés avec la commande npm list . .

 $ npm list --global
home / sitepoint / .node_modules_global / lib
Pm npm@6.9.0
├── abbrev@1.1.1
├── ansicolors@0.3.2
├── ansistyles@0.1.3
├── ├── aproba@2.0.0
├── archy@1.0.0
....................
└─┬ uglify-js@3.5.3
  ├── commandant@2.19.0
  └── source-map@0.6.1

La sortie est cependant plutôt verbeuse. Nous pouvons changer cela avec l'option - depth = 0 .

 $ npm list -g --depth = 0
/home/sitepoint/.node_modules_global/lib
Pm npm@6.9.0
└── uglify-js@3.5.3

C’est mieux – uniquement les packages que nous avons installés ainsi que leurs numéros de version.

Tous les packages installés dans le monde entier seront disponibles à partir de la ligne de commande. Par exemple, voici comment utiliser le package Uglify pour minifier exemple.js en exemple.min.js :

 $ uglifyjs exemple.js -o exemple.min.js

Installation de packages en mode local

Lorsque vous installez des packages localement, vous utilisez normalement un fichier package.json . Lançons-en et créons-en un.

 $ npm init
nom du paquet: (projet)
version: (1.0.0)
description: Démo de package.json
point d'entrée: (index.js)
commande de test:
référentiel git:
mots clés:
auteur:
licence: (ISC)

Appuyez sur . Entrez pour accepter les valeurs par défaut, puis tapez et [oui] (1945) pour confirmer. Cela créera un fichier package.json à la racine du projet.

 {
  "nom": "projet",
  "version": "1.0.0",
  "la description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo " Erreur: aucun test spécifié  "&& exit 1"
  },
  "auteur": "",
  "licence": "ISC"
}

Conseil : Si vous voulez un moyen plus rapide de générer un fichier package.json utilisez npm init --y

Les champs sont, espérons-le, assez explicites , à l'exception des scripts principal et . Le champ principal est le point d'entrée principal de votre programme et le champ scripts vous permet de spécifier des commandes de script exécutées à différents moments du cycle de vie de votre package. Nous pouvons les laisser tels quels pour le moment, mais si vous souhaitez en savoir plus, consultez la documentation de package.json sur sur npm et cet article sur utilisant également npm comme build L.

Essayons maintenant d’installer Underscore .

 $ npm installer underscore
npm notice a créé un fichier de verrouillage sous le nom package-lock.json. Vous devriez commettre ce fichier.
npm WARN nodedemo@1.0.0 Pas de description
npm WARN nodedemo@1.0.0 Pas de champ de référentiel.

+ underscore@1.9.1
a ajouté 1 paquet de 1 contributeur et audité 1 paquet en 7.264s
trouvé 0 vulnérabilités

Notez qu'un fichier de verrouillage est créé. Nous y reviendrons plus tard.

Maintenant, si nous jetons un coup d’œil dans package.json nous verrons qu’un champ sur les dépendances a été ajouté:

 {
  ...
  "dépendances": {
    "trait de soulignement": "^ 1.9.1"
  }
}

Gestion des dépendances avec package.json

Comme vous pouvez le constater, Underscore v1.9.1 a été installé dans notre projet. Le caret ( ^ ) devant le numéro de version indique que lors de l’installation, npm récupère la version la plus élevée du paquet, il peut trouver où seule la version majeure doit correspondre (à moins qu’un ] Le fichier package-lock.json est présent). Dans notre cas, cela serait inférieur à v2.0.0. Cette méthode de dépendances de version (major.minor.patch) est appelée versioning sémantique. Vous pouvez en savoir plus à ce sujet ici: Gestion sémantique: pourquoi vous devez l'utiliser .

Notez également que Underscore a été enregistré en tant que propriété du champ des dépendances . Ceci est devenu la valeur par défaut dans la dernière version de npm et est utilisé pour les packages (tels que Underscore) requis pour l'exécution de l'application. Il serait également possible de sauvegarder un paquet en tant que devDependency en spécifiant un drapeau - save-dev . devDependencies sont des packages utilisés à des fins de développement, par exemple pour exécuter des tests ou transpiler du code.

Vous pouvez également ajouter private: true à package.json à empêche la publication accidentelle de référentiels privés et supprime les avertissements générés lors de l'exécution de npm install .

De loin, la principale raison d'utiliser package.json pour spécifier les dépendances d'un projet est la portabilité. Par exemple, lorsque vous clonez le code d’une autre personne, il vous suffit d’exécuter npm i à la racine du projet et npm résoudra et récupérera tous les packages nécessaires à l’exécution de l’application. Nous verrons cela plus en détail plus tard.

Avant de terminer cette section, vérifions rapidement si Underscore fonctionne. Créez un fichier appelé test.js dans la racine du projet et ajoutez ce qui suit:

 const _ = require ("underscore");
console.log (_. range (5));

Exécutez le fichier à l'aide de noeud test.js et vous devriez voir [0, 1, 2, 3, 4] s'afficher à l'écran.

Désinstallation des paquets locaux

npm est un gestionnaire de paquets donc il doit pouvoir le supprimer. un paquet. Supposons que le paquet Underscore actuel nous cause des problèmes de compatibilité. Nous pouvons supprimer le paquet et installer une version plus ancienne, comme ceci:

 $ npm désinstallez underscore
retiré 2 paquets en 0.107s
liste $ npm
project@1.0.0 / home / sitepoint / project
└── (vide)

Installation d'une version spécifique d'un package

Nous pouvons maintenant installer le package Underscore dans la version de notre choix. Nous faisons cela en utilisant le signe @ pour ajouter un numéro de version.

 $ npm install underscore@1.9.0
+ underscore@1.9.0
a ajouté 1 paquet en 1.574s

liste $ npm
project@1.0.0 / home / sitepoint / project
Core underscore@1.9.0

Mise à jour d’un paquet

Voyons s’il existe une mise à jour pour le paquet Underscore:

 $ npm obsolète
Forfait Actuel Recherché Dernier Lieu
trait de soulignement 1.9.0 1.9.1 1.9.1 projet

La colonne Current nous montre la version installée localement. La colonne Latest nous indique la dernière version du paquet. Et la colonne Wanted nous indique la dernière version du package que nous pouvons mettre à niveau sans casser notre code existant.

Vous rappelez-vous le fichier package-lock.json ? Introduit dans npm v5, le but de ce fichier est de s’assurer que les dépendances restent les mêmes sur toutes les machines sur lesquelles le projet est installé. Il est automatiquement généré pour toutes les opérations dans lesquelles npm modifie le dossier node_modules ou le fichier package.json .

Vous pouvez essayer ceci si vous le souhaitez. Supprimez le dossier node_modules puis relancez npm i . La dernière version de npm installera Underscore v11.9.0 (comme indiqué dans le fichier package-lock.json ). Les versions antérieures tireront dans v1.9.1 en raison des règles de versioning sémantique. Dans le passé, les versions de paquetages incohérentes se sont avérées un gros problème pour les développeurs. Cela a été normalement résolu en utilisant un fichier npm-shrinkwrap.json qui devait être créé manuellement.

Supposons maintenant que la dernière version de Underscore corrige le bogue que nous avions précédemment et nous souhaitons mettre à jour notre système. package à cette version.

 $ npm update underscore
+ underscore@1.9.1
mis à jour 1 paquet en 0.236s

liste $ npm
project@1.0.0 / home / sitepoint / project
Core underscore@1.9.1

Astuce : Pour que cela fonctionne, Underscore doit être répertorié comme dépendance dans package.json . Nous pouvons également exécuter la npm update si nous voulons mettre à jour de nombreux modules obsolètes.

Recherche de paquets

Nous avons utilisé la commande mkdir à plusieurs reprises ce tutoriel. Existe-t-il un package de noeud qui fait la même chose? Utilisons npm search .

 $ npm search mkdir
NOM | DESCRIPTION | AUTEUR DATE | VERSION
mkdir | Création de répertoire… | = joehewitt | 2012-04-17 | 0.0.2
fs-extra | fs-extra contient… | = jprichardson… | 2018-11-07 | 7.0.1
make-dir | Faire un répertoire… | = sindresorhus | 2019-04-01 | 3.0.0
...

Il y a ( mkdirp ). Installons-le.

 $ npm install mkdirp
+ mkdirp@0.5.1
a ajouté 2 paquets en 3.357s

Créez maintenant un fichier mkdir.js et copiez-collez ce code:

 const mkdirp = require ("mkdirp");
mkdirp ("foo", fonction (err) {
  if (err) console.error (err);
  else console.log ("Répertoire créé!");
});

Et lancez le depuis le terminal:

 $ node mkdir.js
Répertoire créé!

Réinstallation des dépendances de projet

Commençons par installer un paquet supplémentaire:

 Demande d’installation $ npm
+ request@2.88.0
ajouté 48 paquets de 59 contributeurs et audité 65 paquets en 2.73s
trouvé 0 vulnérabilités

Vérifiez le package.json .

 "dépendances": {
   "mkdirp": "^ 0.5.1",
   "request": "^ 2.88.0",
   "trait de soulignement": "^ 1.9.1"
},

Notez que la liste des dépendances a été mise à jour automatiquement. Dans les versions précédentes de npm, vous auriez dû exécuter la demande d'installation de npm --save pour enregistrer la dépendance dans package.json . Si vous voulez installer un paquet sans le sauvegarder dans package.json utilisez simplement l'argument - no-save .

Supposons que vous avez cloné le code source de votre projet dans un fichier. une autre machine et nous voulons installer les dépendances. Supprimons d’abord le dossier node_modules puis exécutez npm install

 $ rm -R node-modules
liste $ npm
project@1.0.0 / home / sitepoint / project
DE DEPENDANCE NON SATISFAIRE mkdirp@^0.5.1
├── UNMET DEPENDENCY request@^2.88.0
└── UNMET DEPENDENCY underscore@^1.9.1

npm ERR! manquant: mkdirp@^0.5.1, requis par project@1.0.0
npm ERR! manquant: request@^2.88.0, requis par project@1.0.0
npm ERR! manquant: underscore@^1.9.1, requis par project@1.0.0

$ npm install
ajout de 51 packages de 60 contributeurs et audité de 66 packages en 2.419
trouvé 0 vulnérabilités

Si vous consultez votre dossier node_modules vous constaterez qu’il est recréé à nouveau. De cette façon, vous pouvez facilement partager votre code avec d'autres personnes sans alourdir votre projet et les référentiels sources avec dépendances.

Gestion du cache

Lorsque npm installe un package, il en conserve une copie. La prochaine fois que vous souhaitez installer ce package. , il n'est pas nécessaire de frapper le réseau. Les copies sont mises en cache dans le répertoire .npm de votre chemin personnel.

 $ ls ~ / .npm
anonymous-cli-metrics.json _cacache index-v5 _locks _logs node-sass

Ce répertoire encombrera avec le temps d’anciens paquets, il est donc utile de le nettoyer de temps en temps.

 $ npm cache clean --force

Vous pouvez également purger tous les dossiers node_module de votre espace de travail si vous souhaitez nettoyer plusieurs projets de nœud sur votre système. -name "node_modules" -type d -exec rm -rf '{}' +

Audit

Une nouvelle fonctionnalité introduite dans npm permet aux développeurs d'analyser les dépendances à la recherche de vulnérabilités de sécurité connues. Essayons cette fonctionnalité en installant une ancienne version de express .

 $ npm install express@4.8.0

 express@4.8.0
ajouté 36 paquets de 24 contributeurs et audité 123 paquets en 15.97s
trouvé 21 vulnérabilités (8 faibles, 9 modérées, 4 élevées)
  lancez `npm audit fix` pour les corriger, ou` npm audit` pour plus de détails

Dès que nous avons terminé l'installation, nous obtenons un rapport indiquant que plusieurs vulnérabilités ont été détectées. Vous pouvez exécuter la commande npm audit pour afficher plus de détails.

 $ npm run audit

 === Rapport de sécurité d'audit npm ===

# Exécutez npm install express@4.16.4 pour résoudre 21 vulnérabilités
┌───────────────┬───────────────────────────────── ─────────────────────────────┐
│ Élevé │ Déni de service d'expression régulière │
├───────────────┼───────────────────────────────── ─────────────────────────────┤
│ Forfait │ négociateur
├───────────────┼───────────────────────────────── ─────────────────────────────┤
Dépendance de │ express
├───────────────┼───────────────────────────────── ─────────────────────────────┤
│ chemin │ express> accepte> négociateur
├───────────────┼───────────────────────────────── ─────────────────────────────┤
Plus d'infos │ https://nodesecurity.io/advisories/106
└───────────────┴───────────────────────────────── ─────────────────────────────┘


┌───────────────┬───────────────────────────────── ─────────────────────────────┐
│ Modéré │ Timing Attack
├───────────────┼───────────────────────────────── ─────────────────────────────┤
│ Package │ cookie-signature
├───────────────┼───────────────────────────────── ─────────────────────────────┤
Dépendance de │ express
├───────────────┼───────────────────────────────── ─────────────────────────────┤
│ Chemin Express> cookie-signature │
├───────────────┼───────────────────────────────── ─────────────────────────────┤
Plus d'infos │ https://nodesecurity.io/advisories/134
└───────────────┴───────────────────────────────── ─────────────────────────────┘

Vous obtiendrez une liste détaillée des paquets contenant des vulnérabilités. Si vous regardez le champ ‘Path’, il affiche le chemin de dépendance. Par exemple, le chemin express> accepte> négociateur signifie que Express dépend du package accepté . Le paquet accepté dépend du paquet négociateur qui contient la vulnérabilité.

Il existe deux manières de résoudre tous ces problèmes. Nous pouvons exécuter la commande npm install express@4.16.4 comme suggéré, ou exécuter npm audit correctif . Faisons ce dernier:

 $ npm audit fix

+ express@4.16.4
ajouté 15 paquets de 11 contributeurs, retiré 8 paquets et mis à jour 28 paquets en 5.302s
correction de 21 des 21 vulnérabilités dans 123 paquets analysés

Comme vous pouvez le constater dans le rapport ci-dessus, toutes les vulnérabilités ont été résolues. La commande Le correctif d'audit npm a simplement mis à niveau les packages affectés aux dernières versions. Cependant, notez que toutes les vulnérabilités ne peuvent pas être corrigées automatiquement. Cela peut arriver si vous utilisez un paquet qui a subi une modification majeure qui pourrait casser votre projet actuel s'il était mis à jour. Dans ce genre de situation, vous devrez revoir votre code et effectuer la mise à jour manuellement.

Vous pouvez également exécuter npm audit fix --force si la mise à jour des paquets avec des modifications radicales ne vous gêne pas. Après avoir exécuté la commande, exécutez npm audit pour vous assurer que toutes les vulnérabilités ont été résolues.

Alias ​​

Comme vous l'avez peut-être remarqué, il existe plusieurs façons d'exécuter des commandes npm. Voici une brève liste de certains des alias npm couramment utilisés:

  • npm i – installer le package local
  • npm i -g – installer le package global
  • npm un ] – Désinstallez le paquet local
  • npm up – Les paquetages de mise à jour de npm
  • npm t – exécutez des tests
  • npm ls – répertoriez les modules installés
  • npm ll ou npm la – Affiche les informations supplémentaires sur les paquets tout en listant les modules

Vous pouvez également installer plusieurs packages à la fois, comme ceci:

 $ npm i express Momemt lodash mongoose analyseur de corps Webpack

Si vous voulez apprendre toutes les commandes npm courantes, exécutez simplement npm help pour obtenir la liste complète. Vous pouvez également en savoir plus dans notre article 10 trucs et astuces qui feront de vous un npm Ninja .

Gestionnaires de version

Il existe quelques outils permettant de gérer plusieurs versions de Node. .js sur la même machine. Un de ces outils est n . Un autre outil de ce type est nvm (Node Version Manager). Si vous êtes sous Windows, vérifiez nvm pour Windows . Si cela vous intéresse, pourquoi ne pas consulter notre tutoriel: Installer plusieurs versions de Node.js avec nvm .

Conclusion

Dans ce tutoriel, j'ai présenté les bases du travail avec npm. J'ai montré comment installer Node.js à partir de la page de téléchargement du projet, comment modifier l’emplacement des packages globaux (afin d’éviter d’utiliser sudo ) et comment installer des packages en mode local et global. J’ai également abordé la suppression, la mise à jour et l’installation d’une certaine version d’un package, ainsi que la gestion des dépendances d’un projet. Si vous souhaitez en savoir plus sur les nouvelles fonctionnalités des dernières versions, visitez la page npm Github releases .

Avec la version 5, npm fait un pas de géant dans le monde du développement front-end . Selon son COO sa base d’utilisateurs évolue et la plupart de ceux qui l’utilisent ne l’utilisent pas du tout pour écrire Node. Il s’agit plutôt de devenir un outil que les gens utilisent pour associer JavaScript à l’interface utilisateur (vous pouvez l’utiliser pour installer à peu près n'importe quoi) et qui devient une partie intégrante de l’écriture de JavaScript moderne. Utilisez-vous npm dans vos projets? Sinon, le moment est peut-être bien choisi pour commencer.

Cet article a été révisé par les pairs par Graham Cox . Merci à tous les pairs examinateurs de SitePoint d’avoir fait du contenu SitePoint le meilleur possible!



Source link