Browserify (práctica)

Documentos relacionados
GUIA DE INSTALACIÓN DEL FORMULARIO DIGITAL PARA LA PRESENTACIÓN DE PROYECTOS PARA ESTÍMULOS TRIBUTARIOS

Problemática con la actualización de Java 7 update 45

Cómo descargar, instalar y verificar JAVA

Manual de instalación AutoFirma 1.4.3

Guía de Inicio Rápido Mac Respaldo en línea

Tutorial de enlace entre Formulario Web y Servicio Web REST. Programación en Internet

MANUAL DE ACTUALIZACIÓN DE CONSOLIDACIÓN

Requisitos de Instalación

MICROSOFT ACCESS 2007 (COMPLETO)

REQUISITOS NECESARIOS PARA LA INSTALACIÓN Y FUNCIONAMIENTO DE LA APLICACIÓN

TUTORIAL CVS. PASO 1: Comenzamos instalando el servicio con apt-get install cvs cvsd

Instalación Componente Cliente

Curso de. HTML 5 y CSS 3. Por: Ing. Ubaldo Acosta.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

PRIMEROS PASOS EN SIGETT

Apache2, sitios virtuales y SSL APUNTES ASIR JOHN ALEXANDER MONTES LOPEZ

PROGRAMA FORMATIVO WINDOWS XP PROFESIONAL COMPLETO

ServiceTonic. Guía de instalación

MICROSOFT WORD 2016 Básico

Manual de Instalación para el óptimo funcionamiento de la Firma Electrónica Avanzada

CONFIGURACIONES FIRMA DIGITAL SCOMP

CONSIDERACIONES GENERALES DEL FUNCIONAMIENTO DEL PROGRAMA

MICROSOFT PowerPoint 2016 Básico

CÓMO BLOQUEAR LOS SITIOS WEB EN INTERNET EXPLORER

Pan-Tilt MJPEG Cámara para conexión en red Guía de instalación rápida

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

API de búsqueda (LFASparql)

Registro Electrónico Común (REC) Guía de usuario Presentación de una solicitud con certificado. Versión 1.0

Manual de instalación AutoFirma 1.4.2

TEMA 3: IMPLANTACIÓN DE TÉCNICAS DE ACCESO REMOTO. Victor Martin

Office 365 Pro Plus ACTVACIÓN EN EQUIPOS COMPARTIDOS

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

- MANUAL DE USUARIO DE LA PLATAFORMA DE EDICION DE PROYECTOS DE LA XERENCIA MUNICIPAL DE URBANISMO DE VIGO -

CANTABRIA GOBIERNO DE

Guía de instalación de CAM EXPRESS 8.5 Para Windows XP

MINISTERIO DE SALUD Y PROTECCIÓN SOCIAL BOGOTÁ, AGOSTO DE 2015

Manual de usuario aplicativo Offline pruebas Supérate con el saber 2.0

Unidad IV: Programación del lado del cliente

Taller de TeamViewer. Manual De TeamViewer

Xuxen Chrome xuxen.eus Última actualización: 2016/01/29. Xuxen Chrome

Adaptador de red USB Wireless-N de. doble banda GUÍA DE INSTALACIÓN RÁPIDA. Contenido del paquete

Manual de instalación de programas de Sucesiones y Donaciones

MALTED: MANUAL DE INSTALACIÓN EN LINUX

JAVA 7 Los fundamentos del lenguaje Java

1

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP

Introducción n a Apache Tomcat 5.5

Manual de configuración Internet Explorer

Tabletas en el aula. Gestión de usuarios. Edición Autor: Fernando Posada Prieto canaltic.com

Manual de Usuario de la Aplicación Web Gestión de Convenio y Becas - RELEXT 2015 UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA

Manual de instalación y actualización de la aplicación Sigma

MS_10962 Advanced Automated Administration with Windows PowerShell

INFORMÁTICA Y COMUNICACIONES

MICROSOFT PowerPoint 2013 Básico

Actualizaciones de software Guía del usuario

Crystal Xcelsius 4.5: Manual de instalación

Seleccionamos el servicio necesario, en nuestro caso servidor web IIS, le damos a siguiente. Nos aparecerá una pantalla con información sobre lo que

Taller de Desarrollo de Aplicaciones Web

TUTORIAL NODE.JS POR DARÍO FERNÁNDEZ A. PARA EL CURSO DE DESARROLLO Y SERVICIOS WEB PROFESORA LUISA FERNANDA RINCON PEREZ OCTUBRE 10 DEL AÑO 2014

Instructivo de instalación del lector de cédula electrónica. Portal de la Asociación Española

CUTCSA INFO Manual del Usuario

Sistemas de Bases de Datos 2 Practica 1

SITRÁN ARAGÓN TRÁMITES Y SERVICIOS EN LÍNEA (WEB GANADEROS) CONFIGURACIÓN

Manual de Usuario. Aplicación de Autoevaluación de Centros

R, R-Commander y R-Excel

Declaración anual de operaciones con terceras personas (MOD.347)

Correo Electrónico Irakasle Manual Usuario

Manual de instalación AUTOFIRMA LA SEDE ELECTRÓNICA XUNTA DE GALICIA GUÍAS DE AYUDA DE

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

MICROSOFT EXCEL 2016 Avanzado

Administrar listas en Excel Trabajar con herramientas avanzadas para cálculos matemáticos. Tablas y gráficos dinámicos. Automatizar tareas.

Guía de integración del módulo PayNoPain en Prestashop

DESCARGA E INSTALACIÓN DE PEUGEOT ALERT ZONE EN WIP Com / Connect Com / RT4. Requisitos previos

SAE en mi propia nube Paso a paso

MICROSOFT ACCESS 2010 FÁCIL

Manual de integrador

Plataforma de video bajo demanda (VOD)

1. Introducción Generalidades Configuración del Equipo Instalación de Java... 3

Pasos para instalación de los paquetes Xampp y PosgreSql en Windows:

MANUAL INSTALACIÓN Windows XP

Información General. Al finalizar el curso el alumno será capaz de:

Instalar OCS Inventory Server para Windows en un servidor con XAMPP y dos instancias del servidor web Apache.

Noticias RED Remisión electrónica de documentos

MICROSOFT POWERPOINT 2010

Instructivo de actualización

Vcontrol de Vizioncore es en términos generales una consola basada en web que nos permite gestionar un entorno virtualizado multiplataforma.

R. Instalación y descripción de la interfaz. Objetivos. Conocimiento previo. Contenido

LENGUAJES JÓVENES PROGRAMADORES

Trabajo en Red con los sistemas Aspel

Manual Mostrar últimos tweets en el pie de página

Como instalar un portal Joomla en su página web. Sync-Intertainment

Tema: Introducción al IDE de Microsoft Visual C#.

Esne-Tasa. Configurar Internet Abril 2007

III Curso de Diseño de Sitios WEB basados en Gestores de Contenido (CMS)

CÓMO CONFIGURAR EL NAVEGADOR WEB PARA USAR LEXNET

TEMA 2: Sistemas Operativos

Viviendo entre Sonidos. Descripción del Producto

Plataforma de formación. Guía de manejo

Plataforma Electrónica Cáncer

Transcripción:

Browserify (práctica) Tiempo estimado: 20min El objeto de esta práctica es afianzar, reforzar y consolidar los conocimientos teóricos presentados en la lección. Al finalizarla, el estudiante: Habrá instalado Browserify. Habrá realizado empaquetados. Habrá excluido archivos del archivo empaquetado. Instalación de Node.js Lo primero es instalar Node, la plataforma que utilizaremos para ejecutar las herramientas que nos ayudarán a realizar nuestro trabajo más fácilmente. Para ello, ir a su sitio web oficial, nodejs.org, e instalar la última versión. También se puede instalar mediante los administradores de paquetes Chocolatery y APT. Instalación de Browserify A continuación, vamos a instalar Browserify en nuestra máquina: 1. Abrir una consola. 2. Instalar browserify globalmente mediante NPM, instalado automáticamente con Node: npm install -g browserify 3. Comprobar que hay acceso al comando browserify: browserify --version 4. Mostrar las opciones básicas del comando: browserify --help 5. Mostrar las opciones avanzadas del comando: browserify --help advanced Empaquetado Una vez instalado Browserify, lo siguiente es generar un archivo empaquetado para mostrar su utilización. Browserify no está limitado a aplicaciones de navegador, también se puede utilizar en aplicaciones que se ejecutarán con el motor JavaScript de Node. Por el carácter del curso, nos centraremos en aplicaciones clientes webs. Pero no encontrará ningún problema si necesita extrapolar lo aprendido a lo largo del curso a aplicaciones Node. El objeto es ver cómo generar un archivo empaquetado que usa el módulo crypto de Node en el navegador. 1. Ir a la consola. 2. Crear el directorio de la práctica e ir a él. 3. Crear el archivo crypto.js, mediante su IDE favorito como, por ejemplo, Atom de GitHub o Nuclide de Facebook: atom crypto.js Contenido: const crypto = require("crypto"); Copyright 2016 nodemy.com. Reservados todos los derechos. Browserify (práctica) 1

module.exports.sha = sha; //sha(data) : hash function sha(data) { const hash = crypto.createhash("sha256"); hash.write(data); return hash.digest("hex"); //main if (require.main === module) { console.log(sha("buongiorno")); Observe cómo se expone la función sha como API del módulo crypto.js: module.exports.sha = sha; 4. Ir a la consola. 5. Comprobar el funcionamiento del módulo mediante Node.js: node crypto.js e0cb29405bc784372fc6e9f94f8f30be119da6d292d672cebe34c334ea989a79 Su ejecución debe mostrar la huella SHA-256 del texto buongiorno. 6. Generar el archivo empaquetado para su uso en el navegador: browserify crypto.js --standalone mycrypto --outfile bundle.js El módulo lo empaquetamos en el archivo bundle.js y le asignamos el nombre mycrypto. Esto nos permitirá el acceso, en el navegador, a la función sha mediante la variable global mycrypto, tal como veremos más adelante. 7. Consultar el número de líneas que tiene el archivo crypto.js. En Windows: (cat -Raw crypto.js Measure-Object -Line).Lines 18 En Linux: wc -l crypto.js 18 crypto.js 8. Consultar el número de líneas que tiene el archivo bundle.js: Windows: (cat -Raw bundle.js Measure-Object -Line).Lines 21007 Linux: wc -l bundle.js 21007 bundle.js La diferencia en el número de líneas es enorme. Esto se debe a que Browserify ha añadido automáticamente el código de su implementación particular del módulo crypto, permitiéndonos así su utilización en el navegador. El número de línea dependerá de la versión de Browserify. 9. Echar un vistazo al archivo bundle.js. 10. Crear el archivo index.html: <!doctype html <html <head <meta charset="utf-8" Copyright 2016 nodemy.com. Reservados todos los derechos. Browserify (práctica) 2

<titleuso de Browserify</title <script type="text/javascript" src="./bundle.js"</script <script type="text/javascript" function sha() { var txt = document.queryselector("#text").value; if (txt) { document.queryselector("#hash").innerhtml = mycrypto.sha(txt); else { alert("por favor, indique un texto."); </script </head <body <input id="text" type="text" title="texto a pasar a la función de huella." autofocus <button onclick="sha()"calcular</button <pre id="hash" </pre </body </html Observe cómo se accede a la función sha, mediante la variable global mycrypto, cuyo nombre se indica mediante la opción --standalone, la cual crea automáticamente Browserify en el archivo empaquetado: mycrypto.sha(txt) 11. Abrir el archivo index.html en el navegador: 12. Escribir el texto buongiorno y hacer clic en Calcular para obtener su huella SHA-256: Éste es un ejemplo muy sencillo que permite ilustrar cómo utilizar algunos paquetes de Node en el navegador. Una de las utilidades más interesantes de Browserify. Si lo desea, puede utilizar, por ejemplo, los módulos http y request de Node en el navegador para acceder a recursos webs, aunque es preferible el uso de la API Fetch. Empaquetado de varios archivos Ahora, vamos a empaquetar un módulo personalizado con varios archivos. Vamos a jugar con el mismo módulo y la misma idea. Vamos a recrear nuestro módulo mediante dos archivos y ver cómo hay que comunicárselos a Browserify cuando genere el archivo empaquetado. 1. Modificar el archivo crypto.js. const sha = require("./sha.js"); Copyright 2016 nodemy.com. Reservados todos los derechos. Browserify (práctica) 3

module.exports.sha = sha; //main if (require.main === module) { console.log(sha("buongiorno")); Ahora, no hay nada en este archivo de la función de huella. Lo delegamos al archivo sha.js. 2. Crear el archivo sha.js que expone la función de huella SHA: const crypto = require("crypto"); module.exports = sha; //sha(data) : hash function sha(data) { const hash = crypto.createhash("sha256"); hash.write(data); return hash.digest("hex"); 3. Ir a la consola. 4. Comprobar el funcionamiento del módulo mediante Node: node crypto.js e0cb29405bc784372fc6e9f94f8f30be119da6d292d672cebe34c334ea989a79 5. Generar el archivo empaquetado: browserify crypto.js --standalone mycrypto --outfile bundle.js Como puede observar, no hace falta indicar los dos archivos del módulo. Sólo el archivo principal, recordemos, conocido como punto de entrada. Browserify recorre el archivo de entrada, detecta la importación del archivo sha.js y lo añade al grafo de dependencias y, a partir de ahí, al archivo empaquetado. 6. Ir al navegador y refrescar la página para que se cargue el nuevo archivo empaquetado, F5. 7. Indicar el texto buonasera y hacer clic en Calcular: Exclusión de archivos A continuación, vamos a ver cómo excluir módulos. Concretamente, vamos a indicarle a Browserify que no añada su implementación del módulo crypto: 1. Ir a la consola. 2. Generar el archivo empaquetado sin añadir el módulo crypto: browserify crypto.js --standalone mycrypto --outfile bundle.js --exclude crypto Cuando no se desea añadir ningún módulo predefinido (built-in module), recordemos, aquellos módulos de Node para los que Browserify tiene una implementación particular para su uso en el navegador, la manera más correcta de excluir su añadidura al empaquetado es mediante la opción --no-builtins, no así mediante --exclude. 3. Consultar el número de líneas del archivo empaquetado: En Windows: (cat -Raw bundle.js Measure-Object -Line).Lines 28 En Linux: wc -l bundle.js Copyright 2016 nodemy.com. Reservados todos los derechos. Browserify (práctica) 4

28 bundle.js Observe que el número de líneas se ha reducido considerablemente. Ha pasado de más de 20000 a no llega a treinta. 4. Echar un vistazo al archivo empaquetado. El contenido de los dos archivos se encuentra en él, no así el del módulo crypto de Node. 5. Ir al navegador y refrescar la página para que se cargue el nuevo archivo empaquetado. 6. Indicar el texto buonasera y hacer clic en Calcular. Ahora se producirá un error, que se puede observar mediante la consola del navegador, debido a que el empaquetado no contiene la implementación del módulo predefinido crypto. Copyright 2016 nodemy.com. Reservados todos los derechos. Browserify (práctica) 5