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
setInterval(() => {
console.log( 'Hola Node.js' + new Date() );
}, 1000);
HILO UNICO 8. Process y Single Thread
El
process es un
objeto global
que 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
11. Emisores de Eventos y Herencia
Las instancias de la
Buffer
clase 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 Buffer
se establece cuando se crea y no se puede cambiar el tamaño.
La
Buffer
clase 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)
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)
diferentes formas que hay de ejecutar un servidor HTTP y el módulo Path en Node.js.
(Path, Url, Query String)
El
path
módulo proporciona utilidades para trabajar con rutas de archivos y directorios. Se puede acceder usando: const path = require('path');
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
- Returns: <http.Server>
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