Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
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:
Copiar el código al portapapeles
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:
Copiar el código al portapapeles
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:
Copiar el código al portapapeles
import { defineConfig } from 'astro/config';import svelte from '@astrojs/svelte';export default defineConfig({ integrations: [svelte({ preprocess: [] })],});
Copiar el código al portapapeles
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.
Copiar el código al portapapeles
import { vitePreprocess } from '@astrojs/svelte';export default { preprocess: vitePreprocess(),};
Este archivo de configuración se agregará automáticamente cuando ejecutes astro add svelte.