🔥 Enrutamiento
☆ ¿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
- 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." }
]
}
- 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." }
]
}
- Por último creamos el archivo
404.json
para la secciónnot 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?
- 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.
- 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 = "";
- 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;
- 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.