Estructuración de Proyectos Svelte: Componentes y Configuración Básica

Clase 16 de 26Curso de Svelte

Resumen

¿Cómo estructuramos la aplicación Pugstagram?

En esta clase, aprenderemos a organizar nuestra aplicación Pugstagram mediante una estructura clara y eficiente. Este es un aspecto crucial cuando buscamos desarrollar aplicaciones robustas y escalables. A través de una separación limpia de componentes, podemos gestionar el código de manera más eficiente y facilitar futuras actualizaciones.

¿Qué componentes identificamos en Pugstagram?

Al observar nuestra aplicación, podemos identificar varios componentes clave:

  1. Header: Incluye el logo y un menú de navegación donde encontramos elementos como los "likes" y el perfil.
  2. Main: El contenedor principal que alberga dos componentes hijos:
    • Timeline: Donde se muestran las fotos publicadas.
    • Sidebar: Un panel lateral que ofrece configuraciones adicionales de la cuenta.

Además, dentro del Main, tenemos subcomponentes como el perfil, un cajón de historias, carrusel de fotos y una sección de comentarios.

¿Cómo creamos la estructura en el editor de código?

Para empezar a construir nuestra aplicación, crearemos una carpeta llamada components, donde almacenaremos cada uno de estos componentes definidos. Este es un paso esencial para mantener una arquitectura ordenada y coherente.

components/
  Header.svelte
  Main.svelte
  Sidebar.svelte
  Timeline.svelte

¿Cómo configuramos la aplicación Svelte?

Con los componentes identificados, es momento de integrarlos en nuestra aplicación Svelte. Utilizaremos la estructura de App.svelte para importar y preparar nuestros componentes, incluso antes de crearlos. Aquí te muestro cómo hacerlo:

<script>
// Importamos los componentes desde la carpeta components
import Header from '../components/Header.svelte';
import Main from '../components/Main.svelte';
import Sidebar from '../components/Sidebar.svelte';
import Timeline from '../components/Timeline.svelte';
</script>

// Renderizamos los componentes importados
<Header />
<Main>
  <Timeline />
  <Sidebar />
</Main>

¿Cómo creamos y configuramos los componentes?

Con la estructura básica lista, procedemos a crear cada componente en la carpeta components. Asegúrate de seguir las convenciones de nombrado, utilizando mayúsculas para la inicial del componente.

  1. Header.svelte:

    <div class="header">Header</div>
    
  2. Main.svelte:

    <div class="main-container">
        <slot></slot>
    </div>
    
  3. Sidebar.svelte:

    <div class="sidebar">Sidebar</div>
    
  4. Timeline.svelte:

    <div class="timeline">Timeline</div>
    

El uso de slot en Main.svelte permite que este componente reciba contenido anidado, como Timeline y Sidebar, facilitando una mayor flexibilidad en la construcción de la aplicación.

¿Cómo solucionamos errores al compilar?

Un error común al inicializar nuestra aplicación puede ser el no encontrar correctamente ciertos archivos debido a rutas mal configuradas. Verificar la consola del navegador nos brinda pistas sobre posibles errores, tales como faltas de acceso a directorios correctos. Para abordar esto, aseguramos que cada importación apunta al lugar correcto, y utilizamos ../ para navegar adecuadamente entre carpetas.

// Asegúrate de estar en el directorio correcto al importar
import Header from '../components/Header.svelte';

Con esta configuración, hemos logrado establecer una base sólida para nuestra aplicación, permitiéndonos incluso resolver errores de manera eficiente. ¡Sigue adelante con confianza! Exploraremos más funcionalidades en las próximas etapas.