Desarrollar una aplicación de Next.js es solo la fase inicial; el siguiente paso crucial es el despliegue. Este proceso consiste en poner tu aplicación a disposición de los usuarios en Internet. Una estrategia de implementación eficaz es fundamental para garantizar el rendimiento, la escalabilidad y la fiabilidad de tu aplicación. Esta guía te explicará los pasos que debes seguir para desplegar tu aplicación de Next.js correctamente.
Next.js es un framework de React que se basa en React y añade funciones que facilitan la creación y la optimización automática de sitios web listos para la producción.
En pocas palabras, Next.js es un framework que te ayuda a crear aplicaciones modernas con React. Tiene compatibilidad con servidores, así como imágenes y componentes optimizados que permiten obtener resultados rápidos y, al mismo tiempo, mantener una transferencia de archivos pequeña.
Aunque ambos se parecen y ejecutan JavaScript, hay grandes diferencias en lo que hacen y en sus funciones.
Función | React (predeterminado) | Next.js |
Optimización para SEO | Puede ser difícil | Optimizado para SEO |
Rendimiento de carga inicial | Más lento | Más rápido |
Recuperación de datos | Requiere una implementación manual | Integrado con getServerSideProps y getStaticProps |
Enrutamiento | Usa una biblioteca de enrutamiento (por ejemplo, React Router) | Enrutamiento basado en el sistema de archivos |
Complejidad | Más sencillo | Más configurado desde el primer momento |
React (predeterminado)
Next.js
Optimización para SEO
Puede ser difícil
Optimizado para SEO
Rendimiento de carga inicial
Más lento
Más rápido
Recuperación de datos
Requiere una implementación manual
Integrado con getServerSideProps y getStaticProps
Enrutamiento
Usa una biblioteca de enrutamiento (por ejemplo, React Router)
Enrutamiento basado en el sistema de archivos
Complejidad
Más sencillo
Más configurado desde el primer momento
En muchas aplicaciones de React, los pasos suelen ser los mismos, pero te recomendamos que uses el framework Next.js. Para cumplir los requisitos de alto rendimiento y nivel avanzado, este framework gestionará muchos componentes que ayudan a escalar tu aplicación de forma más eficiente y a optimizar el SEO de tu sitio de React.
Deberás generar la plantilla usando el terminal para que aparezcan todos los detalles y los requisitos de código.
Usa el terminal:
npx create-next-app@latest
Para seguir los pasos, también necesitarás aplicar algunas configuraciones.
Necesitarás las instrucciones sobre lo que es necesario, lo que necesitas (información del servidor o del cliente) y dónde se encuentra. Esto es lo que puedes esperar de la compilación que se va a crear.
"Esto es para mejorar el rendimiento y la velocidad".
Una vez más, esto puede ayudarte a asegurarte de que tienes las piezas listas para crear los componentes que quieras del lado del servidor o del cliente.
Ahora actualiza el código y haz que el diseño quede bien.
Puede que necesites información sobre este tema, así que consulta esta documentación.
Ahora que has hecho estos cambios, la configuración está completa. Deja que se renderice.
Para la optimización en buscadores, la velocidad de tu sitio web es crucial. El JavaScript, por sí solo, puede ralentizar el renderizado y afectar negativamente al rendimiento de búsqueda. Sin embargo, usar Next.js puede mitigar este problema. Por eso, debes priorizar una experiencia de carga rápida y una gestión de datos eficiente en tu sitio. Para conseguir una seguridad sólida y productos de primera calidad, es necesario usar los datos de prueba con cuidado y cumplir las políticas de privacidad y acceso.
Enrutamiento del lado del cliente
La mayoría de las aplicaciones de React usan una biblioteca como react-router-dom para gestionar la navegación. Como esto ocurre en el navegador, tu servidor de alojamiento debe estar configurado para admitirlo. Normalmente, esto implica dirigir todas las solicitudes de página a tu archivo raíz index.html, lo que permite que React Router se haga cargo y muestre el componente correcto.
Variables de entorno
Es probable que tu aplicación necesite diferentes configuraciones para el desarrollo y la producción, como claves de API o endpoints de bases de datos. Es fundamental gestionarlas mediante variables de entorno (por ejemplo, a través de archivos .env) para no exponer información sensible en el código fuente.
Comunicación con la API de backend
Un frontend de React se encarga de la interfaz de usuario, pero suele obtener sus datos dinámicos de una API de backend. Al implementarla, debes asegurarte de que tu aplicación de React sepa la URL correcta de tu API de producción y esté configurada para gestionar el uso compartido de recursos entre dominios (CORS) si la API está alojada en un dominio diferente.
Cloud Run puede ser una buena opción para desplegar una aplicación de React si quieres usar un flujo de trabajo basado en contenedores, que ofrece la máxima coherencia y portabilidad. Empieza con la guía de inicio rápido para crear y desplegar aplicaciones de React con Next.js en Cloud Run.
Para transferir correctamente: Asegúrate de que has implementado todos los detalles relevantes para los ajustes de datos y de transferencia.
Siguiendo estos pasos, asegúrate de que cada fase tenga todos los detalles necesarios para el proyecto.
# Instala las dependencias solo cuando sea necesario FROM node:16-alpine AS deps # Lee https://github.com/nodejs/docker-node/tree/b4117f933ba60658f2812f36b8 117330a1dc25ab#alpine RUN apk add --no-cache libc6-compat WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci # Si usas turbo, elimina los comentarios de esta sección también: # COPY turbo.json ./ # COPY .gitignore ./ # Añade la variable de entorno ENV NEXT_TELEMETRY_DISABLED 1 # Vuelve a crear el hook para comprobar qué se incluye y qué no RUN npm run build ############### #### Fase 2: Imagen de producción ### ############### FROM node:16-alpine AS runner WORKDIR /app # NEXT_PUBLIC_... Variables ENV durante el tiempo de compilación. ENV NODE_ENV production # Si estás usando un archivo de configuración personalizado, solo necesitas copiar el archivo next.config.js COPY --from=builder /app/next.config.js ./ COPY --from=builder /app/public ./public COPY --from=builder /app/.next ./.next COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./package.json # Consulta más información en: https://cloud.google.com/run/docs /configuring/traffic ENV PORT 8080 EXPOSE 8080 CMD ["npm", "start"] |
# Instala las dependencias solo cuando sea necesario
FROM node:16-alpine AS deps
# Lee https://github.com/nodejs/docker-node/tree/b4117f933ba60658f2812f36b8
117330a1dc25ab#alpine
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
# Si usas turbo, elimina los comentarios de esta sección también:
# COPY turbo.json ./
# COPY .gitignore ./
# Añade la variable de entorno
ENV NEXT_TELEMETRY_DISABLED 1
# Vuelve a crear el hook para comprobar qué se incluye y qué no
RUN npm run build
###############
#### Fase 2: Imagen de producción ###
###############
FROM node:16-alpine AS runner
WORKDIR /app
# NEXT_PUBLIC_... Variables ENV durante el tiempo de compilación.
ENV NODE_ENV production
# Si estás usando un archivo de configuración personalizado, solo necesitas copiar el archivo next.config.js
COPY --from=builder /app/next.config.js ./
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json
# Consulta más información en: https://cloud.google.com/run/docs
/configuring/traffic
ENV PORT 8080
EXPOSE 8080
CMD ["npm", "start"]
Ahora debes iniciar el despliegue. Usa una plataforma como Cloud Build y conecta los archivos de configuración.
Ahora, deja que Cloud Run sea el método final para gestionarlo, teniendo en cuenta si ayuda y es correcto. Asegúrate de que las herramientas y el código principales funcionen correctamente.
Firebase también puede ser un buen lugar para desplegar tu aplicación, así que recuerda estos sencillos pasos. ¿Quieres integrar Next.js en Firebase? Sigue los pasos con la documentación completa.
Sigue las configuraciones que requiera esta imagen o documento (se necesita SSL) para que todo funcione de forma segura.
Comprueba cómo se ha instalado la CLI y Firebase, y si están funcionando.
npm install -g firebase-tools
Sigue los pasos de "Firebase Init - Hosting".
Asegúrate de que la URL se reescribe y de que es correcta en la línea de comandos.
Usa "no" para asegurarte de que no haya problemas cuando se despliegue todo.
Para hacer pruebas locales, necesitarás un código de host local.
Después de autenticar la CLI, insértala en este repositorio:
Ahora, debes subir:
Para ver la lista completa de consejos generales de desarrollo en Cloud Run, consulta esta documentación.
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.