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...

Canvas y SVG

Canvas y SVG Arriba: Ejemplo con Canvas. Abajo: Ejemplo con SVG. Fuente para leer conceptos: Canvas | W3Schools SVG | W3Schools Bien., Armemos una HTML WebPage de Ta Te Ti con Canvas y otro con SVG. Ahí va el código: <!DOCTYPE html> <html> <head> <title>Tic Tac Toe</title> </head> <body> <h1>Tic Tac Toe</h1> <h2>Made with HTML5!</h2> <hr /> <br /> <h3>It's a Tic Tac Toe drawing made with Canvas and Filled with JavaScript.</h3> <br /> <table> <!-- La parte de Canvas... --> <tbody> <tr> <td> <canvas id="id11" width="100" height="100" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> </td> <td> <canvas id="id12" width="100" height="100" style="bor...

Pivot y Unpivot en MSSQL

Pivot y Unpivot en MSSQL Armando Query's con Pivot y Unpivot en MSSQL (SQLServer2008 R2) Tuturiales de SQL de W3Schools:  SQL| W3Schools  Creamos una Base de Datos, con un esquema simple de una tabla: USE [Nombre_Base_Datos]; GO -- Create the table and insert values as portrayed in the previous example. CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,     Emp3 int, Emp4 int, Emp5 int); GO Luego insertamos algunos datos: INSERT INTO pvt VALUES (1,4,3,5,4,4); INSERT INTO pvt VALUES (2,4,1,5,5,5); INSERT INTO pvt VALUES (3,4,3,5,4,4); INSERT INTO pvt VALUES (4,4,2,5,5,4); INSERT INTO pvt VALUES (5,5,1,5,5,5); GO Ahora probamos Pivot (varias SubQuery's con Union) en una Query: -- And a simple union pivot for each column... SELECT 'Orders N° 1' AS Orders_Sorted_By_pvt, [1], [2], [3], [4], [5] FROM (SELECT VendorID, Emp1 FROM pvt) AS SourceTable PIVOT ( AVG(Emp1) FOR VendorID IN ([1], [2], [3], [4], [5]) ) AS PivotTable UNION SEL...