Node Js

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Qu es Node.js?

Node.js es un entorno de programacin en la capa del servidor basado en el lenguaje de


programacin Javascript, con I/O de datos en una arquitectura orientada a eventos y basado en
el motor Javascript V8.
Node.js utiliza un manejador de eventos, un modelo sin bloqueos de Entrada/Salida que lo
hace ligero y eficiente, ideal para aplicaciones con uso intensivo de datos en tiempo real que se
ejecutan a travs de dispositivos distribuidos.
Su meta es permitir a un programador construir aplicaciones altamente escalables y escribir
cdigo que maneje decenas de miles de conexiones simultneas en una slo una mquina
fsica. Ebay, Yahoo o LinkedIn son slo algunas de las grandes empresas que trabajan con l.
Modo de Instalacin
Lo primero que hay que hacer para instalar Node.js en nuestro ordenador es entrar a su pgina
que se puede hacer desde el siguiente enlace: http://nodejs.org/ luego ir a la pestaa
Download. Una vez en dicha pestaa podremos elegir entre diferentes extensiones
dependiendo del Sistema Operativo que estemos utilizando.
Se descargar una extensin:
.msi si deseamos instalarlo en la plataforma Windows
.pkg para Macintosh
.tar.gz para Linux
Instalacin en Windows
Elegir la opcin Windows Installer lo cual le descargar un archivo node-v0.10.28-x64.msi. Una
vez descargado le damos doble clic y se abrir un Wizzard de instalacin el cual le ir guiando
durante los pasos para instalar Node.js.
Instalacin en Macintosh
Node.js ha evolucionado y el proceso de instalacin se ha vuelto muy sencillo tenemos 2
opciones, a travs de Terminal o con el paquete de instalacin (.pkg).
Revisemos la primera opcin, para esto abrimos nuestro Terminal y ejecutamos lo siguientes
comandos.

Para la segunda opcin elegir la opcin Macintosh Installer y le descargar un archivo node-
v0.10.28.pkg lo ejecutamos y seguimos los pasos.
Instalacin en Linux
Puedes instalarlo de muchas maneras. Lo ms interesante sera bajartelo de los repositorios de
tu distribucin para que se actualice automticamente cuando suban nuevas versiones.
Sino descargaremos los binarios (SourceCode).
Lo siguiente ser mover el archivo descargado a un destino ms especfico para estos
paquetes e irnos a ese destino.

Ya en la carpeta que contiene el comprimido con los binarios, tenemos quedescomprimirlo.

Ahora que estamos en la carpeta que contiene los binarios descomprimidos, slo tenemos
que preparar los comandos para el compilador. Esto leer las especificaciones de nuestro
sistema y preparar el configurador para compilar correctamente el programa para nuestro
equipo.

Ya slo nos queda compilar el programa e instalarlo (por defecto en
/usr/local/bin/node), para lo que usaremos:

Mdulos
En Node.js el cdigo se organiza por medio de mdulos. Son como los paquetes o libreras de
otros lenguajes como Java. Por su parte, NPM es el nombre del gestor de paquetes (package
manager) que usamos en Node JS.
El NodePackage Module, es una forma integrada de instalar y administrar los mdulos Node
que est usando. Este maneja automticamente dependencias, de manera que usted puede
estar seguro de que cualquier mdulo que usted desee instalar se instalar correctamente con
todas sus partes necesarias. Tambin sirve como una forma para publicar sus propios mdulos
en la comunidad Node, si usted opta por vincularse y escribir su propio mdulo. Piense en el
NPM como una forma fcil para expandir la funcionalidad de Node sin tener que preocuparse
por desconfigurar su instalacin Node.
El gestor de paquetes npm, no obstante, es un poquito distinto a otros gestores de paquetes
que podemos conocer, porque los instala localmente en los proyectos. Es decir, al descargarse
un mdulo, se agrega a un proyecto local, que es el que lo tendr disponible para incluir.
Javascript nativo no da soporte a los mdulos. Esto es algo que se ha agregado en NodeJS y
se realiza con lasentenciarequire(), que est inspirada en la variante propuesta por
CommonJS.
La instruccin require() recibe como parmetro el nombre del paquete que queremos incluir e
inicia una bsqueda en el sistema de archivos, en la carpeta "node_modules" y sus hijos, que
contienen todos los mdulos que podran ser requeridos.
Por ejemplo, si deseamos traernos la librera para hacer un servidor web, que escuche
solicitudes http, haramos lo siguiente:
var http = require("http");
Existen distintos mdulos que estn disponibles de manera predeterminada en cualquier
proyecto Node.js y que por tanto no necesitamos traernos previamente a local mediante el
gestor de paquetes npm. Esos toman el nombre de "Mdulos nativos"y ejemplos de ellos
tenemos el propio "http", "fs" para el acceso al sistema de archivos, "net" que es un mdulo
para conexiones de red todava de ms bajo nivel que "http", "URL" que permite realizar
operaciones sobre "url", el mdulo "util" que es un conjunto de utilidades, "child_process" que
te da herramientas para ejecutar sobre el sistema, "domain" que te permite manejar errores,
etc.
Nosotros tambin podemos escribir nuestros propios mdulos y para ello usamos
module.exports. Escribimos el cdigo de nuestro mdulo, con todas las funciones locales que
queramos, luego hacemos un module.exports = {} y entre las llaves colocamos todo aquello
que queramos exportar.
Function suma(a,b){
return a + b;
}

function multiplicar(a,b){
return a * b;
}

module.exports = {
suma: suma,
multiplicar: multiplicar
}

Asumiendo que el archivo anterior se llame operaciones.js, nosotros podriamos requerirlo
ms tarde e otro archivo.js de la siguiente manera:
var operaciones = require('./operaciones');
operaciones.suma(2,3);


Comando npm para gestin de paquetes

Por lo que respecta al uso de npm, es un comando que funciona desde la lnea de comandos
de NodeJS. Por tanto lo tenemos que invocar con npm seguido de la operacin que queramos
realizar.

npminstall async

Esto instalar el paquete async dentro de mi proyecto. Lo instalar dentro de la carpeta
"node_modules" y a partir de ese momento estar disponible en mi proyecto y podr incluirlo
por medio de "require":

require("async");

Cabe fijarse en que no hace falta darle la ruta al paquete "async" porque npm me lo ha
instalado dentro de node_modules y todo lo que est en esa carpeta se encuentra disponible
para require() sin necesidad de decirle la ruta exacta para llegar.

Otras instrucciones posibles de npm son la de publicar paquetes (con "publish"), instalar
globalmente (poniendo el flag -g al hacer el "install"), desinstalar, incluso premiar (puntuar
paquetes hechos por otras personas), etc.
Podemos ver paquetes a instalar entrando en la pgina del gestor de paquetes npm: npmjs.org
Por ltimo, sobre npm se mencion que cada paquete tiene entre su cdigo un archivo
package.json que contiene en notacin JSON los datos del paquete en s. Es como una tarjeta
de identificacin del paquete, que puede servir para informarte a ti mismo y a cualquier sistema
informtico de sus caractersticas. Si t fueras el creador de un paquete, o crearas alguna
aplicacin con NodeJS, tambin deberas incluir "package.json" con los datos del mdulo o
aplicacin que se est creando, como son el autor, versin, dependencias, etc.
Express.js
Express.js est basado en Connect, que es un framework extensible de manejo de servidores
HTTP, el cual provee plugins de alto rendimiento conocidos como middleware. Middleware es
un software que asiste a una aplicacin para interactuar o comunicarse con otras aplicaciones,
software, redes, hardware y/o sistemas operativos.
Como instalar Express.js
Para instalarlo lo nico que debemos ejecutar es:
$ npminstall -g express
Con esto instalamos express de forma global y tendremos accesible desde consola el
comando:
$ express -h
Usage: express [options] [dir]
Options:
-h, --help output usage information
-V, --version output the version number
-s, --sessions add session support
-e, --ejs add ejs engine support (defaults to jade)
-J, --jshtml add jshtml engine support (defaults to jade)
-H, --hogan add hogan.js engine support
-c, --css add stylesheet support (less|stylus) (defaults to plain css)
-f, --force force on non-empty directory

Crear un servidor web con Node.js y Express

Pre requisitos: Node.js y npm
Antes de comenzar con la codificacin de nuestro servidor web, requerimos instalar un par de
paquetes en nuestro equipo:
Node.js: La plataforma Javascript
npm: Node Package Manager, el manejador de paquetes de Node.js

Configuracin del proyecto: package.json
Todo proyecto Node requiere tener un archivo de configuracin, el cual nos da la definicin de
paquetes y versiones a utilizar en el proyecto. En este caso, utilizaremos el paquete express.
Ya sea que queramos desarrollar un pequeo servidor web o una robusta API, express nos
ser til.
El archivo package.json queda como sigue y creo que se explica por s mismo:
{
"name": "miWebServer",
"description": "Servidor web de prueba",
"version": "1.0.0",
"dependencies": {
"express": "3.x"
}
}
El nodo ms importante es el dependencies, indicando paquetes y versiones.
Con nuestro archivo de configuracin creado, basta con pedirle (amablemente) a Node
Package Manager que instale las dependencias de nuestro proyecto:
npm install
sto crear un directorio llamado node_modules donde se instalarn las dependencias de
nuestro proyecto.

Servidor web: server.js
Crear nuestro pequeo servidor web es tan fcil como importar, crear, rutear y escuchar, aqu
el script para realizar estos cuatro pasos:
1. // importar
2. var express = require('express');
3.
4. // instanciar
5. var app = express();
6.
7. // ruteo
8. app.get('/', function(req, res){
9. res.sendfile(__dirname + '/public/index.html');
10. });
11. app.get('/about', function(req, res){
12. res.sendfile(__dirname + '/public/about.html');
13. });
14.
15. // escuchar
16. app.listen(9000);
17.
18. console.log("Servidor Express escuchando en modo %s",
app.settings.env);
Por ltimo, el comando a ejecutar desde consola para ver nuestro script en ejecucin:
node server.js
El script anterior lanzar una aplicacin escuchando al puerto 9000 y responder a las
siguientes URLs:
http://localhost:9000/
http://localhost:9000/about
En la seccin de ruteo, la funcin get recibe como primer parmetro la ruta a parsear, y como
segundo parmetro una funcin de callback que recibe el objeto del request y la
respuesta res que devolveremos al navegador. En esta funcin de callback podemos hacer
cualquier procesamiento necesario para generar una respuesta, la cual deber ser cargada
sobre el objeto res. A continuacin unos ejemplos de respuestas:
Respuesta en texto
Parsea la url /hola.txt y devuelve respuesta en texto
app.get('/hola.txt', function(req, res){
res.send('Hola mundo');
});


Respuesta en html
Parsea la url /hola.html y devuelve respuesta en html cargada desde el archivo 'hola.html'
app.get('/hola.html', function(req, res){
res.sendfile(__dirname + '/hola.html');
});
Respuesta en JSON
Parsea la url /hola.json y devuelve respuesta en formato JSON cargada desde el archivo
'hola.json'
app.get('/hola.json', function(req, res){
// Indicamos el tipo de contenido a devolver en las cabeceras de
nuestra respuesta
res.contentType('application/json');
res.sendfile(__dirname + '/hola.json');
});
Como podemos ver en los ltimos dos casos, hacemos uso de la variable __dirname creada
automticamente por Node y contiene la ruta en la cual se est ejecutando nuestro script.

También podría gustarte