Ir al contenido principal

Probando NodeJS

Probando NodeJS

Probando NodeJS sobre editores Online.

Node.js® es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome; según Google, Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.

Documentación de W3Schools:

Algunos editores NodeJS:
https://repl.it/repls/SpryChiefGenericsoftware
https://www.katacoda.com/courses/nodejs/playground

Empecemos con el código! Tengamos en cuenta que guardamos los archivos como <nombre_archivo>.js, y luego corremos la instrucción node <nombre_archivo>.js para que funcione correctamente, además de usar el puerto 8080 (lo puedes cambiar siempre y cuando uses correctamente el enlace con el puerto cambiado).

Vamos a generar un texto plano desde la función createServer linealmente:

var http = require('http');

http.createServer(function (req, res) {
res.writeHead(200, 'Test en Node.JS', {'Content-Type': 'text/html'});
res.end('Hola Mundo! Test en Node.JS!');
}).listen(8080);


Ahora generemos código HTML (createServer lo usamos luego para generar el log en la consola):

var http = require('http');

var requestListener = function (req, res) {
res.writeHead(200, 'WebPage de Test en Node.JS', {'Content-Type': 'text/html'});
res.write('<h1>Hola Mundo!</h1>');
res.write('<h2>WebPage de Test en Node.JS</h2>');
res.write('<hr />');
res.write('<p>Hecho con Node.JS.</p>');
return res.end();
};

var server = http.createServer(requestListener);
server.listen(8080, function() { console.log('Listening on port 8080')});



También podemos usar API's externas. En este caso uso CORS Anywhere (la opción online), un Open API hecha por Rob Wu (https://cors-anywhere.herokuapp.com/), que elimina las políticas de CORS del navegador al hacer un call a un enlace externo (tener en cuenta que se define el encabezado en el cliente, si es que uso alguna política de Token).
El enlace que voy a usar, https://www.google.com/search?q=games, pero de la forma
https://cors-anywhere.herokuapp.com/<enlace_a_utilizar>

Veamos (en el código hay algunas anotaciones importantes):

var http = require('http');

var requestListener = function (req, res) {
res.writeHead(200, '
AngularJS Local Call Test', {'Content-Type': 'text/html'});
// **********
// Note 1: I didn't keep comma operator usage inside res.write(...)! Change this please!
// **********
res.write('<!DOCTYPE html>');
res.write('<html>');
res.write('<head>');
res.write('<title>AngularJS Local Call Test</title>');
res.write('<script src="angular.min.js"></script>');
res.write('<script>');

// **********
// Note 2: I used a local AngularJS v1.2.32! Save it to Server!
// **********
res.write('var app = angular.module('myApp', []);');
res.write('app.controller('myCtrl', function($scope, $http) {');
res.write('$http.get("AppData.html").then(function (response) {');
res.write('$scope.dataCall = response.data;');
res.write('})');
res.write('.catch(function(response) {');
res.write('$scope.dataCall = "Error!";');
res.write('});');
res.write('var sURL = 'https://cors-anywhere.herokuapp.com/https://www.google.com/search?q=games';');
res.write('var req = {');
res.write('method: 'GET',');
res.write('url: sURL,');
res.write('headers: {');
res.write(''Authorization': 'Negotiate', ');
res.write(''Access-Control-Allow-Headers': 'Content-Type,X-Requested-With,Authorization,Origin,Access-Control-Allow-Origin,Accept',');
res.write(''Access-Control-Allow-Origin': '*',');
res.write(''cache-control': 'no-cache',');
res.write(''X-PINGOTHER': 'pingpong'');
res.write('}');
res.write('};');
res.write('$http.get(sURL, req).then(function (response) {');
res.write('$scope.WebAPICall = response.data;');
res.write('})');
res.write('.catch(function(response) {');
res.write('$scope.WebAPICall = "Error!";');
res.write('});');
res.write('});');
res.write('</script>');
res.write('</head>');
res.write('<body>');
res.write('<h1>AngularJS Local Call Test</h1>');
res.write('<h2>Fill data from a string HTML file.</h2>');
res.write('<hr />');
res.write('<div ng-app="myApp" ng-controller="myCtrl">');
res.write('webData: {{ dataCall }}');
res.write('<br />');
res.write('<br />');
res.write('webapiData: {{ WebAPICall }}');
res.write('</div>');
res.write('</body>');
res.write('</html>');

return res.end();
};

var server = http.createServer(requestListener);
server.listen(8080, function() { console.log('Listening on port 8080')});


Espero que les sea de utilidad!

Comentarios

Entradas populares de este blog

Usando ASP.NET MVC 2 con VS2008

Usando ASP.NET MVC 2 con VS2008 Creando una Aplicación Web ASP.NET MVC 2 con VS2008 Usando .NET Framework 3.5 Al crear el proyecto, vemos un entorno similar a la siguiente imagen: Configurando el DBConnectionString desde el Web.Config Con el  ConnectionString configurado (por defecto debería apuntar al App_Data del proyecto con el esquema de tablas del modelo, guardado como  .mdf ; o a la base que desee, teniendo en cuenta el modelo DB necesario), debería estar andando. NOTA: si genera un error de navegación, apuntar a la URL local raíz con el puerto generado por el Debug . NOTA 2: Al implementar la Solución, tengan en cuenta de subir el App_Data si usan ese DataSource , o referenciar desde el  ConnectionString . Una vez corriendo la Aplicación Web, podemos armar una Vista mas en la carpeta Views > Account del projecto. La podemos usar una vez que el Usuario ingrese al Sistema como Repositorio de Documentos. La llamamos  ViewIntranet.aspx...

Analizando Contenidos de IT

Analizando Contenidos de IT Algunas consideraciones sobre un Análisis de Contenidos de IT. La documentación que uno puede recopilar sobre IT (como cualquier otro tema) hoy en día es amplia. Y el tiempo que lleva seleccionarla es exponencial si tenemos que analizarla. Es por eso que hay unos mapas conceptuales sobre los procesos de selección de documentación dando vueltas por la Web. Y elegí un diagrama de The Open University para contextualizar la tarea, ya que no solo recopila, también relaciona contenidos: Preparar - (Descubrir - Asimilar - Guardar - Relacionar) - Repite...