import PackageManagerTabs from '/components/tabs/PackageManagerTabs.astro'; import Since from '/components/Since.astro';

Esta integración de Astro permite el renderizado en el lado del servidor y la hidratación en el lado del cliente para tus componentes de Svelte. Compatible con Svelte 3, 4, y 5 (experimental).

Instalación

Astro incluye un comando astro add para automatizar la configuración de las integraciones oficiales. Si lo prefieres, puedes instalar las integraciones manualmente en su lugar.

Para instalar @astrojs/svelte, ejecuta lo siguiente desde el directorio de tu proyecto y sigue las instrucciones:

Si tienes algún problema, no dudes en informárnoslo en GitHub y prueba los pasos de instalación manual a continuación.

Instalación manual

Primero, instala el paquete @astrojs/svelte:

La mayoría de los gestores de paquetes instalarán también las dependencias asociadas. Si ves un mensaje de advertencia de "No se puede encontrar el paquete 'svelte'" (o similar) cuando inicias Astro, tendrás que instalar Svelte:

Luego, aplica la integración a tu archivo astro.config.* usando la propiedad integrations:

js
import { defineConfig } from 'astro/config';import svelte from '@astrojs/svelte';export default defineConfig({  // ...  integrations: [svelte()],});

Empezando

Para usar tu primer componente Svelte en Astro, dirígete a nuestra documentación de frameworks UI. Explorarás:

  • 📦 como se cargan los componentes de framework,
  • 💧 opciones de hidratación del lado del cliente, y
  • 🤝 oportunidades para mezclar y anidar frameworks juntos

Opciones

Esta integración está impulsada por @sveltejs/vite-plugin-svelte. Para personalizar el compilador de Svelte, se pueden proporcionar opciones a la integración. Consulta la documentación de @sveltejs/vite-plugin-svelte para obtener más detalles.

Opciones por defecto

Esta integración pasa las siguientes opciones predeterminadas al compilador de Svelte:

js
const defaultOptions = {  emitCss: true,  compilerOptions: { dev: isDev, hydratable: true },  preprocess: vitePreprocess(),};

Estos valores emitCss, compilerOptions.dev, y compilerOptions.hydratable son necesarios para construir correctamente para Astro y no pueden ser anulados.

Proporcionar tus propias opciones de preprocess sobrescribirá la configuración predeterminada devitePreprocess(). Asegúrate de habilitar las banderas de preprocesamiento necesarias para tu proyecto.

Puedes establecer opciones ya sea pasándolas a la integración svelte en astro.config.mjs o en svelte.config.js. Cualquiera de estos sobrescribiría la configuración predeterminada de preprocess:

js
import { defineConfig } from 'astro/config';import svelte from '@astrojs/svelte';export default defineConfig({  integrations: [svelte({ preprocess: [] })],});
js
export default {  preprocess: [],};

Intellisense para TypeScript

Si estás utilizando un preprocesador como TypeScript o SCSS en tus archivos Svelte, puedes crear un archivo svelte.config.js para que la extensión del IDE de Svelte pueda analizar correctamente los archivos Svelte.

js
import { vitePreprocess } from '@astrojs/svelte';export default {  preprocess: vitePreprocess(),};

Este archivo de configuración se agregará automáticamente cuando ejecutes astro add svelte.