Una introducción al administrador de paquetes npm

Una guía rápida de npm, el poderoso administrador de paquetes clave para el éxito de Node.js. En enero de 2017, se informó que se incluyeron más de 350000 paquetes en el registro de npm, lo que lo convierte en el repositorio de código de un solo idioma más grande de la Tierra, y puede estar seguro de que hay un paquete para (¡casi!) Todo.

Introducción a npm

npmes el administrador de paquetes estándar para Node.js.

En enero de 2017, se informó que se incluyeron más de 350000 paquetes en el registro de npm, lo que lo convierte en el repositorio de código de un solo idioma más grande de la Tierra, y puede estar seguro de que hay un paquete para (¡casi!) Todo.

Comenzó como una forma de descargar y administrar dependencias deNode.jspaquetes, pero desde entonces se ha convertido en una herramienta utilizada también en frontendJavaScript.

Hay muchas cosas quenpmhace.

Hiloes una alternativa a npm. Asegúrate de comprobarlo también.

Instalación

npmse instala cuando instala Node.js. Dirigirse ahttps://nodejs.orge instale Node, si aún no lo ha instalado en su sistema.

Cómo usar npm

npmgestiona las descargas de las dependencias de su proyecto.

Instalando todas las dependencias

Si un proyecto tiene unpackages.jsonarchivo, ejecutando

npm install

instalará todo lo que el proyecto necesite, en elnode_modulescarpeta, creándola si aún no existe.

Instalación de un solo paquete

También puede instalar un paquete específico ejecutando

npm install <package-name>

A menudo verá más banderas agregadas a este comando:

  • --saveinstala y agrega la entrada alpackage.jsonexpedientedependencias(predeterminado a partir de npm 5)
  • --save-devinstala y agrega la entrada alpackage.jsonexpedientedevDependencies

La diferencia es principalmente que las devDependencies suelen ser herramientas de desarrollo, como una biblioteca de pruebas, mientras quedependenciesse incluyen con la aplicación en producción.

Actualizando paquetes

La actualización también es fácil, ejecutando

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: