Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Bower: manejador de paquetes para Javascript

A medida que las aplicaciones crecen, crecen también en dependencias y muchas veces la tarea de comenzar una aplicación es tediosa y repetitiva al tener que agregar una y otra vez las mismas referencias o no.

Bower logo

Primero que nada, tener Nodejs instalado

Sí, Bower es un paquete de Nodejs, así que una vez que tenemos Nodejs instalado, ejecutamos el siguiente comando:

npm install -g bower

CERT_UNTRUSTED Error

Si esto ocurre lo más simple es ejecutar el siguiente comando

npm config set ca "" 

Si esto no funciona acá hay un par de opciones más

También es necesario git

Bower permite instalar paquetes desde cualquier repositrio git (incluso uno nuestro, remoto lo local) pero necesitamos tener git instalado y en el path para que Bower lo encuentre.

Ahora sí, bower instalado, empecemos

Una vez que tenemos Bower instalado podemos hacer lo mismo que hacemos con el comando npm de Nodejs, es decir, solicitar paquetes.

Entonces vamos a la consola y ejecutamos

bower install requirejs

image

si revisamos el directorio desde donde ejecutamos el comando vamos a ver que Bower creó una carpeta bower_components y puso el paquete ahí (lo que hay en el paquete depende de la definición de quien lo creó)

Cambiando el directorio de instalación

Esto es simple, creamos un archivo con el nombre .bowerrs (si, un archivo sin nombre con extensión bowerrc) y colocamos lo siguiente dentro

{	
"directory": "scripts"
}

Entonces ejecutamos de nuevo el comando y vemos que Bower pone todo dentro de la carpeta scripts

Automatizando tareas comunes

Una cosa interesante es tener un archivo con varias dependencias que siempre usamos y usarlo de base para instalar diferentes paquetes y versiones en nuestra aplicación, esto es simple. Creamos un archivo con el nombre bower.json y colocamos dentro lo siguiente

{	
"name": "app", "dependencies": {"backbone": null, "jquery": null, "requirejs": null}
}

Ahora con estos dos archivos en nuestro directorio no nos queda más que ejecutar bower install y listo (el null en cada componente indica la versión, en este caso es la última).

image

Un detalle interesante es que instaló underscorejs sin que lo pidamos, esto ocurre porque backbone tiene definido en su archivo de configuración de Bower que depende de underscore.

Esto es un buen ejemplo de un archivo de configuración

{
  "name"          : "backbone",
  "version"       : "1.1.2",
  "main"          : "backbone.js",
  "dependencies"  : {
    "underscore"  : ">=1.5.0"
  },
  "ignore"        : ["backbone-min.js", "docs", "examples", "test", "*.yml", "*.map", ".html", "*.ico"]
}

Como verán se pueden definir muchas cosas, acá podemos encontrar una referencia completa.

Entonces, a partir de ahora podemos tener nuestros archivos de configuración comunes para las aplicaciones y dejar que Bower haga todo por nosotros, o si tenemos un proyecto con dependencias de terceros simplemente agregamos en el código los archivos de configuración de Bower para que cada uno los instale.

Hasta la próxima.

Loading