Pasar al contenido principal
Jose Luján
Luis Avilés
Álvaro Felipe, Jon Mircha
Álvaro Felipe
Alberto Quiroga
Alexys Lozada, Álvaro Felipe, Daniel Romero, Jon Mircha
Daniel Romero
Alexys Lozada, Daniel Romero
Álvaro Felipe
Francisco Romero
Alexys Lozada
Álvaro Felipe
Jon Mircha
Álvaro Felipe
Daniel Romero
Daniel Romero
Jose Luján
Álvaro Felipe
Freddy Cahuas
Álvaro Felipe

Introducción a NPM

Introducción a NPM

Hola gente de EDteam...

...soy su amigo y docente digital Jonathan MirCha, y en esta ocasión quiero darles una pequeña introducción a NPM, a su archivo de configuración y a los tipos de instalaciones de sus paquetes.

Node Package Manager.

npmjs.com es el gestor de paquetes de Node.js... y de todo JavaScript.

Iniciar un proyecto npm.

$ > npm init //Con asistente
$ > npm init -y //Sin asistente

package.json:

{
	"name": "module-name",
	"version": "10.3.1",
	"description": "An example module to illustrate the usage of a package.json",
	"author": "Your Name <[email protected]>",
	"contributors": [{
		"name": "Foo Bar",
		"email": "[email protected]"
	}],
	"bin": {
		"module-name": "./bin/module-name"
	},
	"scripts": {
		"test": "vows --spec --isolate",
		"start": "node index.js",
		"predeploy": "echo im about to deploy",
		"postdeploy": "echo ive deployed",
		"prepublish": "coffee --bare --compile --output lib/foo src/foo/*.coffee"
	},
	"main": "lib/foo.js",
	"repository": {
		"type": "git",
		"url": "https://github.com/nodejitsu/browsenpm.org"
	},
	"bugs": {
		"url": "https://github.com/nodejitsu/browsenpm.org/issues"
	},
	"keywords": [
		"nodejitsu",
		"example",
		"browsenpm"
	],
	"dependencies": {
		"primus": "*",
		"async": "~0.8.0",
		"express": "4.2.x",
		"winston": "git://github.com/flatiron/winston#master",
		"bigpipe": "bigpipe/pagelet",
		"plates": "https://github.com/flatiron/plates/tarball/master"
	},
	"devDependencies": {
		"vows": "^0.7.0",
		"assume": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
		"pre-commit": "*"
	},
	"preferGlobal": true,
	"private": true,
	"publishConfig": {
		"registry": "https://your-private-hosted-npm.registry.nodejitsu.com"
	},
	"subdomain": "foobar",
	"analyze": true,
	"license": "MIT"
}

Paquetes NPM.

Instalación Única:

Se instalan en la carpeta donde se encuentre la terminal de comandos, NO se registran en el archivo package.json.

$ > npm install [nombre del package]
$ > npm install [nombre del package]@3.4.12 // Versión específica
$ > npm i [nombre del package] //shortcut

Instalación como Dependencia del proyecto:

Se instalan en la carpeta donde se encuentre la terminal de comandos, SI se registran en el archivo package.json como dependencias del proyecto, esto significa que el proyecto requiere de éstos paquetes para funcionar.

$ > npm install [nombre del package] --save
$ > npm install [nombre del package] -S //shortcut

Instalación como Dependencia de Desarrollo del proyecto:

Se instalan en la carpeta donde se encuentre la terminal de comandos, SI se registran en el archivo package.json como dependencias de desarrollo del proyecto, esto significa que facilitan y optimizan las tareas comunes de desarrollo y publicación del proyecto.

$ > npm install [nombre del package] --save-dev
$ > npm install [nombre del package] -D //shortcut

Instalación Global:

Se instalan localmente en el ordenador independientemente de donde se encuentre la terminal de comandos, esto significa que estarán disponibles en todas las carpetas del ordenador, NO se registran en el archivo package.json.

$ > npm install [nombre del package] --global
$ > npm install [nombre del package] -g //shortcut

Instalación Múltiple de paquetes:

Se pueden instalar múltiples paquetes, separando sus nombres con un espacio en blanco y al final especificar el flag del tipo de instalación.

$ > npm install [package1] [package2] [package3] --flag

Instalación de proyecto con package.json:

Cuando un proyecto tiene el archivo package.json se pueden instalar todas las dependencias de proyecto y desarrollo que tenga registradas en el mismo.

$ > npm install

Desinstalación de paquetes.

Si se utiliza el flag --save o --save-dev se elimina el registro del archivo package.json, si se usa --global se elimina del ordenador

$ > npm uninstall [package] //se borra de la carpeta node_modules
$ > npm uninstall [package] --save
$ > npm uninstall [package] --save-dev
$ > npm uninstall [package] --global
$ > npm un [package] //shortcut

Publicación de paquetes.

Un paquete no puede volver a re-publicarse con la misma versión. Si despublicas un paquete puedes romper Internet 

$ > npm publish

Mostrar información de paquetes.

Lee metadatos del archivo package.json del paquete en su repositorio oficial

$ > npm view [package]
$ > npm view [package] versions

Documentación de NPM.

Recuerda que en EDteam, tenemos un Curso de Node.js donde te enseñamos a profundidad a utilizar NPM.

Se despide su amigo y docente digital Jonathan MirCha, sean felices, hasta siempre, nos leemos la próxima semana... 

...bye ;)

Photoshop Desde Cero

Photoshop es el estándar mundial de diseño y retoque fotográfico. Los principales profesionales del mundo lo usan en sus trabajos y...

Si este artículo te gustó suscríbete para recibir novedades del blog y promociones de EDteam

Ingresa tu correo electrónico para recibir nuestro boletín semanal