viernes, 24 de noviembre de 2017

Aprendiendo NODE.JS con Bextlan

NODEMAILER (OJO): http://deivijt.com/blog/como-enviar-emails-con-nodejs-y-nodemailer/

Repositorio:  https://github.com/jonmircha/ednode2016/tree/master/01Core

 Documentación de NODE.JS: https://nodejs.org/api/index.html

chuleta de node https://brusbilis.com/chuletas/servidor/expressjs/


Instalación Node.Js  ver el siguiente video  Curso Node.js: 6. Instalación


  • Verificar si tienes NODE.Js instalado  ...en la consola  (terminal de comandos / o powerShell) escribes el siguiente comando:  
node -v
  • //detengo la ejecución de un script en la consola                                                     Ctrl + C 
  • Para  saber la version de gestor de paquete que trae NODE:JS escribes el siguiente comando:
  npm -v
  El CORE de NODE.JS: Curso Node.js: 7. Documentación y Buenas Prácticas

  • MODULOS:                                                                                                                                       (Globals, Process, HTTP,  Buffers,  Stream, Fyle Sistem, Event, Util, timer, Modulos)
  • usar siempre                                                                                                          'use strict'
  • Para compiular   se usa  el comando                                           node <nombre del archivo>
  • Para escribir algo en pantalla:                                                     console.log('Hola')   
  • Ejecuta una función  cada cierto tiempo                                     setInterval
ejemplo:
setInterval(() => {
console.log( 'Hola Node.js' + new Date() );
}, 1000);
El process es un objeto  globalque proporciona información y control sobre el proceso Node.js actual. Como global, siempre está disponible para aplicaciones Node.js sin usar require().

console.log('---------------------------------------------');
console.log('         EL PROCESO DE NODE.JS         ');
console.log('Id del proceso ........... ' + process.pid);
console.log('Título.................... ' + process.title);
console.log('Directorio de Node........ ' + process.execPath);
console.log('Directorio Actual......... ' + process.cwd());
console.log('Versión de Node........... ' + process.version);
console.log('Versiones Dependencias.... ' + process.versions);
console.log('Plataforma (S.O.)......... ' + process.platform);
console.log('Arquitectura (S.O.)....... ' + process.arch);
console.log('Tiempo activo de Node..... ' + process.uptime());
console.log('Argumentos del proceso.... ' + process.argv);
console.log('---------------------------------------------');
Las interfaces HTTP en Node.js están diseñadas para admitir muchas características del protocolo que tradicionalmente han sido difíciles de usar. En particular, mensajes grandes, posiblemente codificados en fragmentos. La interfaz tiene cuidado de nunca almacenar en el búfer todas las solicitudes o respuestas, el usuario puede transmitir datos.
10. Buffers y Streams
Las instancias de la Bufferclase son similares a las matrices de enteros, pero corresponden a asignaciones de memoria bruta de tamaño fijo fuera del montón de V8. El tamaño de Bufferse establece cuando se crea y no se puede cambiar el tamaño.

La Bufferclase es global dentro de Node.js, por lo que es poco probable que alguna vez tenga que usarla require('buffer').Buffer.

11. Emisores de Eventos y Herencia
  • 'use strict';

    var EventEmitter = require('events').EventEmitter,
    pub = new EventEmitter()

    pub
    .on('myevent', function (message){
    console.log('Este mensaje siempre se repite ' +message)
    })
    .once('myevent', function (message){
    console.log('se emite una sola vez' + message)
    })

    pub.emit('myevent', "Soy un emisor de eventos")
    pub.emit('myevent', "Volvy a emitir 2 vez")

    pub.emit('myevent', "Volvy a emitir 3 vez")
  •  
  •  
  • Tecnica para exportar nuestros modulos            module.export.variable = variable
  • Para Importar nuestro archivo         ´                  var mydatos = require('./nombArchivo) 
  •   
 13. Creación de Módulos
  •  
  •   
14. Características ES6 

15. Tipos de Servidores HTTP. Módulo Path 

diferentes formas que hay de ejecutar un servidor HTTP y el módulo Path en Node.js.
(Path, Url, Query String)
El pathmódulo proporciona utilidades para trabajar con rutas de archivos y directorios. Se puede acceder usando:   

const path = require('path');
.basename  método devuelve la última porción de a path
path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'

path.basename('/foo/bar/baz/asdf/quux.html', '.html');
http.createServer([requestListener])
requestListener   Es una Funcion
Retorna una nueva instancia de http.Server

El url.parse()método toma una cadena URL, la analiza y devuelve un objeto URL.


function webServer(req, res) {
if (req.method  == 'GET') {
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(form);
}

if (req.method == 'POST') {
req   //'data´'  la informacion que se pasa por get y post
.on('data', function (data){
  dataString += data
})
.on('end', function (){
var dataObject = querystring.parse(dataString), //Combierte un string a Objeto
dataJSON = util.inspect(dataObject),  //combierte un OBJETO a JSON
templateString = `
Los datos que enviaste por POST como string son: ${dataString}
Los datos que enviaste por POST como JSON son: ${dataJSON}
`
console.log(templateString)
res.end(templateString)
})
}

npm es el manejador de paquetes por defecto para Node.js, un entorno de ejecución para JavaScript. 

1.- De forma Unica:

npm install nombre-paquete (no recomendada)

2.- De forma Global:

npm install nombre-paquete -g

se instalan localmente en nuestro ordenador

estan disponible en todo momento

son paquetes q nos ayudaran con tareas administrativas (monitoreo, depuracion, automatizacion, etc)

3.- Como dependencia del proyecto

npm install nombre-paquete --save

4.- Como dependencia de desarrollo


npm install nombre-paquete --save-dev

node inspector   (node-debug mi-archivo.js)
supervisor    (supervisor mi-archivo.js)
nodemon      (nodemon  mi-archivo.js)


NOTA: se instalo  npm supervisor -g  (en forma global )
se instalo para el programa
npm formidable --save   //  https://www.npmjs.com/package/formidable
npm fs-extra --save   // https://www.npmjs.com/package/fs-extra

y se creo package.json   con el comando     npm init

PACKAGE.json
creacion  (npm init)
configuracion
instalacion de paquete como dependencia npm install nombre-del-paquete -- save
OJO revisar
Si una función no puede devolver un valor o lanzar una excepción sin bloquear, puede devolver una promesa en su lugar. Una promesa es un objeto que representa el valor de retorno o la excepción lanzada que la función puede proporcionar eventualmente. Una promesa también se puede usar como un proxy para un objeto remoto para superar la latencia.


Se va a la carpeta de trabajo y creo package.json   con el comando     npm init


No hay comentarios.:

Publicar un comentario