Node.js es un entorno de programación para el servidor basado en JavaScript que utiliza un modelo de programación asíncrono y basado en eventos. Permite construir aplicaciones altamente escalables que pueden manejar miles de conexiones simultáneas. Los módulos permiten expandir la funcionalidad de Node.js y se gestionan mediante el paquete npm. Express.js es un marco popular para construir aplicaciones web con Node.js.
0 calificaciones0% encontró este documento útil (0 votos)
110 vistas6 páginas
Node.js es un entorno de programación para el servidor basado en JavaScript que utiliza un modelo de programación asíncrono y basado en eventos. Permite construir aplicaciones altamente escalables que pueden manejar miles de conexiones simultáneas. Los módulos permiten expandir la funcionalidad de Node.js y se gestionan mediante el paquete npm. Express.js es un marco popular para construir aplicaciones web con Node.js.
Node.js es un entorno de programación para el servidor basado en JavaScript que utiliza un modelo de programación asíncrono y basado en eventos. Permite construir aplicaciones altamente escalables que pueden manejar miles de conexiones simultáneas. Los módulos permiten expandir la funcionalidad de Node.js y se gestionan mediante el paquete npm. Express.js es un marco popular para construir aplicaciones web con Node.js.
Node.js es un entorno de programación para el servidor basado en JavaScript que utiliza un modelo de programación asíncrono y basado en eventos. Permite construir aplicaciones altamente escalables que pueden manejar miles de conexiones simultáneas. Los módulos permiten expandir la funcionalidad de Node.js y se gestionan mediante el paquete npm. Express.js es un marco popular para construir aplicaciones web con Node.js.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
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; }
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.