Archivos de junio, 2013

25 Jun

Hemos visto en un post anterior como usabamos express para hacer todo un scaffolding de nuestra aplicación haciendo uso del comando express nombre-de-la-app y luego el comando npm install. En los siguientes ejemplos usamos como template engine a hbs, a diferencia de lo que nos permite express en su instalación por defecto que utiliza jade. Por ende esta instalación no nos sirve. Sin embargo sería muy util hacer una instalación local de los módulos que vamos a utilizar por una simple cuestión de portabilidad.

Con el primer comando express creamos la estructura de carpetas y el archivo json. Esta es la principal utilidad para hacer la instalación de los módulos. El archivo en cuestión tiene la siguiente estructura:

{ "name": "application-name", "version": "0.0.1", "private": true, "scripts": { "start": "node app.js" }, "dependencies": { "express": "3.2.6", "jade": "*" } }

Como podemos ver, en el último elemento “dependencies” nos está diciendo los módulos que va a instalar cuando se ejecute el comando npm install. En la documentación de Express podemos encontrar que podemos setear las dependencias desde el comando express: Sabemos que Express tiene la capacidad de crear el scaffolding con los pre procesadores de html y css que le indiquemos. Por ej:

express –sessions –css less –template ejs myapp

Lo que hace esto es hacer una instalación de express con soporte para sessions, less como motor de css y ejs como motor de template. Generando este json:

{ "name": "application-name", "version": "0.0.1", "private": true, "scripts": { "start": "node app.js" }, "dependencies": { "express": "3.2.6", "jade": "*", "less-middleware": "*" } }

Lo lógica indica que deberíamos poder hacer una instalación de igual manera con hbs. Desgraciadamente, al día de escribir este post, eso no es posible.

Lo que si podemos hacer es crear un package.json “from the scratch”:

{ "name": "pkg-example", "version": "0.0.1", "dependencies": { "express": "3.1.x", "hbs":"*" } }

Creamos este archivo en la carpeta de nuestro proyecto, y luego simplemente en la consola tipeamos

npm install

Luego encontraremos la carpeta node_modules con los dos modulos: express y hbs. Tal como se lo indicamos en el “dependencies” de nuestro json.

Claramente allí podemos agregar todos los módulos que necesitemos. Es necesario familiarizarse con estos archivos de configuración porque son sumamente necesarios y sumamente utilizados.

Sumamente útil tener siempre a mano el cheatsheet o chuleta del packaje.json

19 Jun

hbs continuando con su herencia de Moustache, trabaja con logic-less, esto es evitar la lógica de la aplicación en el modo de vista para un mejor mantenimiento. Parte de eso se trata el uso de los templates parciales

Un ejemplo típico de cualquier web es que se repitan la cabecera y el pie. Esto invita a imaginarnos que en nuestra carpeta de views podemos tener los archivos header.hbs y footer.hbs. Suena lógico y de eso se trata.

(más…)
17 Jun

Como vimos en el post anterior, la instalación basica de Express utiliza Jade como motor de templates. Antes de ponerme a ver Jade y sus posibilidades me interesó el Hbs. Este motor de templates basado en HandleBars el cual está basado en Moustache. La diferencia radica que hbs se adapta a express de manera sencilla

Se puede ver en la documentación oficial de Express que no hay soporte para hbs. Allí mismo se habla como alternativa a Jade el ejs, un motor de template que puede instalar con la estructura misma que se genera con express:

$ express – –ejs myapp

Desgraciadamente no es posible hacerlo con Hbs, Entonces este se instala como un Módulo externo:

$ sudo npm install hbs -g

(más…)
13 Jun

En el tutorial anterior, hablamos de Express, un framework MVC para trabajar con Node.js. Su uso es sumamente popular.

Lo instalamos como cualquier módulo:

sudo npm install express -g

Luego de unos segundos el modulo se habrá instalado. Para ver las opciones que express trae tipeamos:

express -h

(más…)
12 Jun
logo de NPM

Los Módulos son la parte esencial de Node.js. Todo nuestro desarrollo se basa en ellos. Nuestra instalación por defecto ya tiene algunos que pueden encontrarse en usr/local/lib la carpeta de node_modules y usr/local/bin los binarios de estos.

Vas a notar que en cualquier desarrollo que hagamos vamos a necesitar siempre instalar algún modulo. Hay cientos de ellos y los podés encontrar en su sitio: NPMjs.org

NPM es la herramienta para instalar, desarrollar y gestionar los módulos en Node.js. En muchos tutoriales que podés encontrar por ahi, vas a ver que te dicen que es una instalación aparte en el pkg que hemos bajado en el tutorial anterior veremos que el NPM ya está instalado.

La forma básica de instalación que encontrarás en las documentaciones de los módulos es a travéz de la consola: npm install [nombre-del-modulo]. Sin embargo en nuestro entorno eso está incompleto.

(más…)
11 Jun

Node.js es la nueva tecnología de la que muchos están hablando. Un usual error que me llevó a profundizar en esto es la terminación de js como si se tratara de otra librería javascript para manejar datos, eventos y objetos dentro del navegador.

Node.js NO es una tecnología de la parte cliente. Es una tecnología del servidor como php, Solo que a diferencia de este no necesita de un servidor apache sino que el mismo Node es el creador del servidor en si.

cómo?

Vamos por el principio: Por qué elegí OSX como SO? porque me va bien trabajar en Mac. y Node no es una tecnología muy afin al entorno windows. De hecho en sus anteriores versiones no corría bajo el Sistema de Microsoft. Hasta hace no mucho, solo podías verlo en OS X y Linux.

(más…)


Contacto