Este documento describe el proceso completo para desplegar una aplicación Next.js en Cloudflare Pages, incluyendo la configuración, optimización y despliegue.
npm install -g wranglerwrangler loginimport type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Configuración de imágenes
images: {
formats: ['image/webp', 'image/avif'],
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
remotePatterns: [
{
protocol: 'https',
hostname: 'avatars.githubusercontent.com',
port: '',
pathname: '/u/**',
},
],
unoptimized: true, // Necesario para output: export
},
// Headers de seguridad
async headers() {
return [
{
source: '/(.*)',
headers: [
{
key: 'X-Frame-Options',
value: 'DENY',
},
{
key: 'X-Content-Type-Options',
value: 'nosniff',
},
{
key: 'Referrer-Policy',
value: 'origin-when-cross-origin',
},
],
},
];
},
// Configuración de compresión
compress: true,
// Configuración para Cloudflare Pages
output: 'export', // Exporta archivos estáticos
trailingSlash: true,
};
export default nextConfig;npm run buildout/wrangler pages deploy out --project-name=portfolio500 builds por mes
CDN global de Cloudflare
Se actualiza con cada push a GitHub
Certificado HTTPS automático
output: 'export': Necesario para generar archivos estáticosunoptimized: true: Para imágenes en exportdynamic: 'force-static': Para API routes en exporttrailingSlash: true: Para compatibilidad con Cloudflare Pages