Índice del curso de node JS

  1. ¿Qué es NodeJS?
  2. Instalación de NodeJS
  3. Hola Mundo
  4. package.json
  5. Módulos
  6. Módulo para actualizar los cambios
  7. express
    1. Generación de un proyecto express
    2. Rutas con Express
    3. Enviar un array a la vista
    4. Peticiones GET y POST
  8. Mysql
    1. Express con mysql - ejemplo básico
    2. Inserción con MySQL en nodeJS
    3. Mostrar errores Mysql
    4. Con parámetros
    5. Borrar
    6. Actualizar
    7. Ejercicio CRUD
    8. Consulta
    9. Sequelize
  9. Web Sockets con Express
  10. Imprimir los logs en un fichero de texto
  11. Handlebars - hbs
  12. Variables de sesión
  13. CORS
  14. JWT (JSON Web Tokens) usando express
  15. Subida de una imagen al servidor
  16. Middleware
  17. express sin express-generator
  18. Servidor web sin express
  19. Publicar un plugin en npm
  20. Chokidar

Express sin express-generator

Nos permite materializar los ejemplos anteriores utilizando mucho menos código.

Hola Mundo con Express

En este ejemplo siempre mostraremos la misma página

npm init
npm i express
main.jsvar express=require('express');
var app=express();

app.get('/',function (req,res){
    res.send('Hola Mundo');
});

var server=app.listen(8888,function(){
    console.log('Servidor web iniciado');
});

Recuperación de páginas estáticas y recursos varios

Ya vimos como programar esto si usar el módulo Express. Veremos como se reduce el código usando este módulo.

public/index.html<a href="pagina1.html">PAGINA 1</a><br>
<a href="pagina2.html">PAGINA 2</a>
public/pagina1.htmlPAGINA 1
public/pagina2.htmlPAGINA 2
main.jsvar express=require('express');
    var app=express();

    app.use(express.static(__dirname + '/public'));

    var server=app.listen(8888,function(){
    console.log('Servidor web iniciado');
});

Recuperar los datos por get y post

Para recuperar los datos de un formulario HTML o los parámetros de una url debemos agregar además del framework Express una módulo para parsear los datos que llegan del navegador. Hay muchos módulos que hacen esta actividad el más común es el módulo 'body-parser'.

public/index.html<form action="envioporpost" method="post">
    <label for="">Envio por post</label>
    <input type="text" name="numero" size="10"><br>
    <input type="submit" value="Envío por POST">
</form>
<form action="envioporget">
    <label for="">Envío por get:</label>
    <input type="text" name="numero" size="10"><br>
    <input type="submit" value="Envío por GET">
</form>
main.jsvar express = require('express');
    var app=express();
    var bodyParser = require('body-parser');

    //especificamos el subdirectorio donde se encuentran las páginas estáticas
    app.use(express.static(__dirname + '/public'));

    //extended: false significa que parsea solo string (no archivos de imagenes por ejemplo)
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/envioporpost', function (req, res) {
    var num=req.body.numero;
    txt = 'El número recogido por post es el: '+num;
    res.send(txt);    
})

app.get('/envioporget', function (req, res) {
    var num=req.query.numero;
    var txt='El número regogido por get es el:' + num;
    res.send(txt);    
})


var server=app.listen(8888,function(){
    console.log('Servidor web iniciado');
});
icono de mandar un mailPreguntame lo que quieras!
Pablo Monteserín
contacta conmigoPablo Monteserín

El servicio de resolución de dudas técnicas es sólo para los usuarios premium. Si tienes cualquier otra duda, usa el formulario de contacto. ¡Gracias!