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 ReadMore from '~/components/ReadMore.astro'; import { Steps } from '@astrojs/starlight/components';
Puedes desplegar tu proyecto de Astro en Cloudflare Pages, una plataforma para desarrolladores frontend para colaborar y desplegar sitios web estáticos (JAMstack) y con renderizado en el servidor (SSR).
Esta guía incluye:
- Cómo desplegar a través del dashboard de Cloudflare Pages
- Cómo desplegar usando Wrangler, la CLI de Cloudflare
- Cómo desplegar un proyecto con SSR usando @astrojs/cloudflare
Prerrequisitos
Para comenzar, necesitarás:
- Una cuenta de Cloudflare. Si no tienes una, puedes crear una cuenta gratuita de Cloudflare durante el proceso.
- Tu código alojado en un repositorio de GitHub o GitLab.
Cómo desplegar un proyecto con Git
-
Sube tu código a un repositorio de git remoto (GitHub, GitLab).
-
Inicia sesión en el dashboard de Cloudflare y selecciona tu cuenta en Account Home > Workers & Pages > Overview.
-
Selecciona Create application, luego la pestaña Pages y después selecciona la opción Connect to Git.
-
Selecciona el proyecto de git que quieres desplegar y haz clic en Begin setup
-
Usa los siguientes ajustes de compilación:
- Valor preestablecido del marco: Astro
- Comando de compilación: npm run build
- Crear directorio de salida: dist
-
Haz clic en el botón Guardar e implementar.
Cómo desplegar un proyecto usando Wrangler
-
Accede en Wrangler con tu cuenta de Cloudflare usando wrangler login.
-
Ejecuta tu comando de compilación.
-
Despliega usando npx wrangler pages deploy dist.
Copiar el código al portapapeles
# Instala Wrangler CLInpm install -g wrangler# Accede a tu cuenta de Cloudflare desde la CLIwrangler login# Ejecuta el comando de compilaciónnpm run build# Crea un nuevo desplieguenpx wrangler pages deploy dist
Una vez que tus archivos sean subidos, Wrangler te dará una preview URL para inspeccionar tu sitio. Cuando accedas al dashboard de Cloudflare Pages, verás tu nuevo proyecto.
Habilitando Preview localmente con Wrangler
Para que preview funcione, debes instalar wrangler
Copiar el código al portapapeles
pnpm add wrangler --save-dev
Entonces será posible actualizar el script preview para ejecutar wrangler en lugar del comando preview ya integrado en Astro:
Copiar el código al portapapeles
"preview": "wrangler pages dev ./dist"
Cómo desplegar un proyecto con SSR
Puedes construir un proyecto de Astro con SSR para desplegarlo en Cloudflare Pages usando el adaptador @astrojs/cloudflare.
Sigue los pasos a continuación para configurar el adaptador. Puedes desplegar usando cualquiera de las opciones mencionadas anteriormente.
Instalación rápida
Añade el adaptador de Cloudflare que activa SSR en tu proyecto de Astro con el siguiente comando astro add que se muestra debajo. Este instalará el adaptador y hará los cambios apropiados a tu archivo astro.config.mjs en un solo paso.
Copiar el código al portapapeles
npx astro add cloudflare
Instalación manual
Si prefieres instalar el adaptador manualmente, sigue los siguientes pasos:
```bash npm install @astrojs/cloudflare ```2. Añadir lo siguiente a tu archivo astro.config.mjs:
```js title="astro.config.mjs" ins={2, 5-6} import { defineConfig } from 'astro/config'; import cloudflare from '@astrojs/cloudflare'; export default defineConfig({ output: 'server', adapter: cloudflare() }); ```Aprende más sobre SSR en Astro.
Solución de problemas
Hidratación del lado del cliente
La hidratación del lado del cliente puede fallar como resultado de la configuración de Auto Minify de Cloudflare. Si ves Hydration completed but contains mismatches en la consola, asegúrate de deshabilitar Auto Minify en la configuración de Cloudflare.
APIs de tiempo de ejecución de Node.js
Si estás construyendo un proyecto que está usando renderizado bajo demanda con el Adaptador de SSR de Cloudflare y el servidor falla en construir con un mensaje de error como [Error] Could not resolve "XXXX. The package "XXXX" wasn't found on the file system but is built into node.:
-
Esto significa que un paquete o importación que estás utilizando en el entorno del lado del servidor no es compatible con las APIs de tiempo de ejecución de Cloudflare.
-
Si estás importando directamente una API de tiempo de ejecución de Node.js, por favor consulta la documentación de Astro en compatibilidad con Node.js de Cloudflare para conocer los pasos adicionales sobre como resolver esto.
-
Si estás importando un paquete que importa una API de tiempo de ejecución de Node.js, verifica con el autor del paquete si admiten la sintaxis de importación node:*. Si no lo hacen, es posible que necesites encontrar un paquete alternativo.