Enrutamiento en Node.js: Organiza tu aplicación web de manera efectiva

Enrutamiento en Node.js: Organiza tu aplicación web de manera efectiva

¿Qué es el enrutamiento?

Supongamos que nuestra aplicación consiste de múltiples paginas y que cada una de estas paginas debe visualizarse con una dirección url específica, tenemos que asociar una dirección url a un contenido específico. A este proceso en el cual cada petición HTTP tiene asignado una pagina con contenido se le conoce con el nombre de enrutamiento.

Preparando nuestros documentos JSON para cada una de las rutas

  1. Vamos a crear inicio.json para la sección de inicio.

    {
        "comodines" : [
            { "nombre" : "%titulo%", "valor" : "Este es el titulo de la pagina de inicio." },
            { "nombre" : "%parrafo%", "valor" : "Este es el contenido de la pagina de inicio." }
        ]
    }
    
  2. Vamos a crear contacto.json para la sección de contacto.

    {
        "comodines" : [
            { "nombre" : "%titulo%", "valor" : "Este es el titulo de la pagina de contacto." },
            { "nombre" : "%parrafo%", "valor" : "Este es el contenido de la pagina de contacto." }
        ]
    }
    
  3. Por último creamos el archivo 404.json para la sección not found.

    {
        "comodines" : [
            { "nombre" : "%titulo%", "valor" : "Este es el titulo de la pagina 404." },
            { "nombre" : "%parrafo%", "valor" : "Este es el contenido de la pagina 404." }
        ]
    }
    

¿Cómo crear rutas personalizadas dentro de la aplicación?

  1. Vamos al código de nuestra app y vamos a analizar este pedazo de código…

    var comodines = JSON.parse(
        fs.readFileSync(__dirname + "/comodines.json")
    ).comodines;
    

    Si nos damos cuenta, lo único que tenemos que hacer es reemplazar comodines.json por el json apropiado para cada uno de los casos.

  2. Vamos a definir en la parte de las variables, la variable que vamos a utilizar para hacer referencia al archivo json.

    // contenido
    var archivo_json = "";
    
  3. E implementamos el bloque de código que define la lógica con la cual vamos a mandar llamar el archivo requerido, para ello echamos mano de peticion.url, que contiene el url actual que tenemos en el navegador.

    switch (peticion.url) {
        case "/":
        case "/inicio":
            archivo_json = "/inicio.json";
            break;
        case "/contacto":
            archivo_json = "/contacto.json";
            break;
        default:
            archivo_json = "/404.json";
            break;
    }
    
    var comodines = JSON.parse(
        fs.readFileSync(__dirname + archivo_json)
    ).comodines;
    
  4. Ejecutamos nuevamente nuestra app con node y veremos que podemos accesar las urls, http://localhost:1111/inicio, http://localhost:1111 pero en cuanto intentemos utilizar otra dirección, obtendremos la pagina 404.