Instalación y Configuración de Vue Router en Aplicaciones Vue.js

Clase 32 de 53Curso Profesional de Vue.js 2

Resumen

¿Qué es el ViewRouter y cómo se instala?

El ViewRouter es una librería oficial del framework Vue, mantenida por el mismo equipo central que desarrolla Vue. Provee un completo enrutamiento para aplicaciones Vue, permitiéndote gestionar la navegación entre secciones o páginas de manera eficiente como una single page application. Para instalarlo, simplemente ejecuta el comando:

npm install vue-router --save

Este comando agregará ViewRouter como una dependencia en tu proyecto, lo cual es necesario para usarlo.

¿Cómo configurar el VueRouter en mi aplicación?

Una vez instalado, el siguiente paso es configurarlo en tu aplicación Vue. Comienza importando VueRouter en tu archivo principal, generalmente main.js:

import Vue from 'vue';
import VueRouter from 'vue-router';

Asegúrate de inicializar a Vue para que use VueRouter:

Vue.use(VueRouter);

¿Cómo definir las rutas?

Define las rutas de tu aplicación creando un nuevo archivo, típicamente llamado routes.js. Importa los componentes que se asociarán con las rutas:

import Search from '@/components/Search.vue';

const routes = [
  { path: '/', component: Search, name: 'search' }
];

export default routes;

Este arreglo de rutas especifica qué componente se mostrará para cada URL en tu aplicación.

¿Cómo integrar las rutas con VueRouter?

Ahora que tienes tus rutas definidas, importa el archivo routes.js en main.js y crea una instancia de VueRouter pasándole las rutas:

import routes from './routes';

const router = new VueRouter({
  routes
});

Integra este router en la instancia de Vue de tu aplicación:

new Vue({
  router,
  render: h => h(App),
}).$mount('#app');

¿Cómo se estructuran los componentes con el ViewRouter?

Para que el ViewRouter funcione correctamente, usa <router-view> para indicar dónde se renderizarán los componentes correspondientes a las rutas en tu componente principal App.vue.

<template>
  <div id="app">
    <HeaderComponent />
    <router-view></router-view>
    <FooterComponent />
  </div>
</template>

La etiqueta <router-view> actúa como un contenedor que se actualiza dinámicamente con el componente relacionado a la ruta actual.

¿Cómo preparar el componente Search.vue?

Según el ejemplo, necesitarás un componente Search.vue en tu proyecto. Duplicamos la estructura básica de App.vue:

<template>
  <main>
    <!-- Search content goes here -->
  </main>
</template>

<script>
export default {
  // component logic
}
</script>

Asegúrate de que App.vue esté lo más limpio posible, sólo importando y utilizando componentes.

¿Cómo manejar errores comunes?

Un problema común es acceder a propiedades de objetos que podrían ser undefined. Usa directivas de Vue como v-if para asegurarte de que el componente no intente renderizar información que aún no existe, lo cual podría provocar errores JavaScript.

<div v-if="track && track.album">
  <!-- component content -->
</div>

De esta manera, el componente sólo intentará renderizar cuando track y sus propiedades existan, evitando errores en consola.

¿Cuáles son las mejores prácticas?

  • Usa un v-if para controlar la renderización condicional basada en la existencia de datos.
  • Usa comas para separar atributos en tus componentes para evitar errores de compilación.
  • Mantén App.vue limpio y minimalista, delegando la lógica compleja a componentes específicos.
  • Verifica constantemente la consola del navegador para identificar y resolver errores mientras desarrollas.

Con estos pasos y buenas prácticas, estarás preparado para implementar efectivamente VueRouter en tus aplicaciones Vue, creando una navegación fluida y funcional. Sigue explorando y experimentando con el ViewRouter para aprovechar al máximo sus capacidades. ¡Sigue aprendiendo y avanzando!