Une introduction au gestionnaire de paquets npm

Un guide rapide sur npm, le puissant gestionnaire de packages clé du succès de Node.js. En janvier 2017, plus de 350000 packages ont été répertoriés dans le registre npm, ce qui en fait le plus grand référentiel de code de langue unique sur Terre, et vous pouvez être sûr qu'il existe un package pour (presque!) Tout.

Introduction à npm

npmest le gestionnaire de packages standard pour Node.js.

En janvier 2017, plus de 350000 packages ont été répertoriés dans le registre npm, ce qui en fait le plus grand référentiel de code de langue unique sur Terre, et vous pouvez être sûr qu'il existe un package pour (presque!) Tout.

Cela a commencé comme un moyen de télécharger et de gérer les dépendances deNode.jspackages, mais il est depuis devenu un outil utilisé également en frontendJavaScript.

Il y a beaucoup de choses quinpmEst-ce que.

Filest une alternative à npm. Assurez-vous de le vérifier également.

Installation

npmest installé lorsque vous installez Node.js. Se diriger vershttps://nodejs.orget installez Node, si vous ne l'avez pas déjà installé sur votre système.

Comment utiliser npm

npmgère les téléchargements des dépendances de votre projet.

Installer toutes les dépendances

Si un projet a unpackages.jsonfichier, en exécutant

npm install

il installera tout ce dont le projet a besoin, dans lenode_modulesdossier, en le créant s'il n'existe pas déjà.

Installer un seul package

Vous pouvez également installer un package spécifique en exécutant

npm install <package-name>

Souvent, vous verrez plus d'indicateurs ajoutés à cette commande:

  • --saveinstalle et ajoute l'entrée aupackage.jsondéposerdépendances(par défaut à partir de npm 5)
  • --save-devinstalle et ajoute l'entrée aupackage.jsondéposerdevDependencies

La différence est principalement que devDependencies sont généralement des outils de développement, comme une bibliothèque de test, tandis quedependenciessont fournis avec l'application en production.

Mise à jour des packages

La mise à jour est également facilitée, en exécutant

npm update

npm will check all packages for a newer version that satisfies your versioning constraints.

You can specify a single package to update as well:

npm update <package-name>

Versioning

In addition to plain downloads, npm also manages versioning, so you can specify any specific version of a package, or require a version higher or lower than what you need.

Many times you’ll find that a library is only compatible with a major release of another library.

Or a bug in the latest release of a lib, still unfixed, is causing an issue.

Specifying an explicit version of a library also helps to keep everyone on the same exact version of a package, so that the whole team runs the same version until the package.json file is updated.

In all those cases, versioning helps a lot, and npm follows the semantic versioning (semver) standard.

Running Tasks

The package.json file supports a format for specifying command line tasks that can be run by using

npm run <task-name>

For example:

{
  "scripts": {
    "start-dev": "node lib/server-development",
    "start": "node lib/server-production"
  },
}

It’s very common to use this feature to run Webpack:

{
  "scripts": {
    "watch": "webpack --watch --progress --colors --config webpack.conf.js",
    "dev": "webpack --progress --colors --config webpack.conf.js",
    "prod": "NODE_ENV=production webpack -p --config webpack.conf.js",
  },
}

So instead of typing those long commands, which are easy to forget or mistype, you can run

$ npm run watch
$ npm run dev
$ npm run prod  

Download my free Node.js Handbook


More node tutorials: