Desenvolver um aplicativo Next.js é apenas a fase inicial. A próxima etapa crucial é a implantação. Esse processo envolve disponibilizar seu aplicativo para usuários na Internet. Uma estratégia de implantação eficaz é essencial para garantir o desempenho, a escalonabilidade e a confiabilidade do seu aplicativo. Este guia vai mostrar as etapas para implantar seu app Next.js.
O Next.js é um framework do React que se baseia no React e adiciona recursos que facilitam a criação e otimização automática de sites prontos para produção.
Em resumo, o Next.js é um framework que ajuda você a criar apps modernos com o React. Ele tem suporte para servidor e imagens e componentes otimizados que permitem resultados rápidos, mantendo uma pequena transferência de arquivos.
Os dois podem parecer semelhantes e executar JavaScript, mas há grandes diferenças no que eles fazem e quais são suas funções.
Recurso | React (padrão) | Next.js |
Compatível com SEO | Pode ser desafiador | Compatível com SEO |
Desempenho do carregamento inicial | Mais lento | Mais rápida |
Busca de dados | Requer implementação manual | Integrado ao getServerSideProps e getStaticProps |
Roteamento | Usa uma biblioteca de roteamento (por exemplo, React Router) | Roteamento baseado em sistema de arquivos |
Complexidade | Mais simples | Mais configurado de fábrica |
React (padrão)
Next.js
Compatível com SEO
Pode ser desafiador
Compatível com SEO
Desempenho do carregamento inicial
Mais lento
Mais rápida
Busca de dados
Requer implementação manual
Integrado ao getServerSideProps e getStaticProps
Roteamento
Usa uma biblioteca de roteamento (por exemplo, React Router)
Roteamento baseado em sistema de arquivos
Complexidade
Mais simples
Mais configurado de fábrica
Para muitos apps React, as etapas são geralmente as mesmas, mas recomendamos o uso do framework Next.js. Para requisitos de alto desempenho e nível avançado, esse framework gerencia muitos componentes que ajudam a escalonar seu app com mais eficiência e otimizar o SEO do seu site React.
Você terá que gerar o modelo usando o terminal para que todos os detalhes e requisitos de código estejam lá.
Usar terminal:
npx create-next-app@latest
Para acompanhar, você também vai precisar de algumas configurações.
Você vai querer as instruções sobre o que é necessário, o que você precisa (informações do servidor ou do clie nte) e onde elas estão. É isso que você pode esperar da build.
"Isso é para desempenho e velocidade."
Isso pode ajudar a garantir que você tenha as partes prontas que fazem você querer componentes com lados do servidor e/ou do cliente.
Agora atualize o código e deixe o layout bonito.
Talvez você precise de informações sobre isso, então consulte esta documentação.
Agora que você fez essas mudanças, a configuração está concluída. Deixe o conteúdo ser renderizado.
Para uma otimização ideal do mecanismo de pesquisa, a velocidade do seu site é crucial. O JavaScript, por si só, pode deixar a renderização mais lenta e afetar negativamente a performance da pesquisa. No entanto, o uso do Next.js pode mitigar esse problema. Portanto, priorize uma experiência de carregamento rápido e um gerenciamento de dados eficiente no seu site. A segurança robusta e os produtos de alta qualidade exigem o uso cuidadoso dos dados de teste, respeitando a privacidade e o acesso.
Roteamento do lado do cliente
A maioria dos apps React usa uma biblioteca como react-router-dom para lidar com a navegação. Como isso acontece no navegador, o servidor de hospedagem precisa ser configurado para oferecer suporte a esse recurso. Isso geralmente significa direcionar todas as solicitações de página para o arquivo index.html raiz, permitindo que o React Router assuma o controle e exiba o componente correto.
Variáveis de ambiente
Seu aplicativo provavelmente vai precisar de configurações diferentes para desenvolvimento e produção, como chaves de API ou endpoints de banco de dados. É fundamental gerenciar esses dados usando variáveis de ambiente (por exemplo, com arquivos .env) para não expor informações sensíveis no código-fonte.
Comunicação da API de back-end
Um front-end React é responsável pela UI, mas geralmente recebe os dados dinâmicos de uma API de back-end. Ao fazer a implantação, você precisa garantir que o aplicativo React saiba o URL correto da API de produção e esteja configurado para lidar com o compartilhamento de recursos entre origens (CORS) se a API estiver hospedada em um domínio diferente.
O Cloud Run pode ser uma boa opção para implantar um app React quando você quer usar um fluxo de trabalho baseado em contêineres, que oferece máxima consistência e portabilidade. Comece com o Guia de início rápido para criar e implantar apps Next.js React no Cloud Run.
Para transferir corretamente. Verifique se você implementou todos os detalhes relevantes para as configurações de dados e transferência.
Usando essas etapas, faça com que cada fase tenha todos os detalhes necessários para o projeto.
# Install dependencies only when needed FROM node:16-alpine AS deps # Check 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 # If using turbo, uncomment this section as well: # COPY turbo.json ./ # COPY .gitignore ./ # Add env variable ENV NEXT_TELEMETRY_DISABLED 1 # Rebuild hook allows to check what and what not to include RUN npm run build ############### #### Stage 2: Production image ### ############### FROM node:16-alpine AS runner WORKDIR /app # NEXT_PUBLIC_... env variables during build time. ENV NODE_ENV production # you only need to copy next.config.js if you are using a custom config file 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 # See details in: https://cloud.google.com/run/docs /configuring/traffic ENV PORT 8080 EXPOSE 8080 CMD ["npm", "start"] |
# Install dependencies only when needed
FROM node:16-alpine AS deps
# Check 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
# If using turbo, uncomment this section as well:
# COPY turbo.json ./
# COPY .gitignore ./
# Add env variable
ENV NEXT_TELEMETRY_DISABLED 1
# Rebuild hook allows to check what and what not to include
RUN npm run build
###############
#### Stage 2: Production image ###
###############
FROM node:16-alpine AS runner
WORKDIR /app
# NEXT_PUBLIC_... env variables during build time.
ENV NODE_ENV production
# you only need to copy next.config.js if you are using a custom config file
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
# See details in: https://cloud.google.com/run/docs
/configuring/traffic
ENV PORT 8080
EXPOSE 8080
CMD ["npm", "start"]
Agora você precisa fazer a implantação. Usar uma plataforma como o Cloud Build e conectar os arquivos de configuração.
Agora, deixe o Cloud Run ser o método final para lidar com isso, sem esquecer se ele ajuda e está correto. Consulte as principais ferramentas e o código e verifique se tudo está funcionando bem.
O Firebase também é um ótimo lugar para fazer a implantação, então lembre-se destas etapas simples. Tudo pronto para integrar o Next.js ao Firebase? Acompanhe a documentação completa.
Siga as configurações do que essa imagem ou documento exige (SSL necessário) para que tudo funcione com segurança.
Explique como a CLI e o Firebase são instalados e funcionam.
npm install -g firebase-tools
Siga "Firebase Init - Hosting".
Faça com que o URL seja reescrito e seja preciso na linha de comando.
Use com "no" para garantir que não haja problemas quando tudo for implantado.
Você vai querer testes locais, o que exige código de host local.
Depois de autenticar a CLI, envie-a para este repositório:
Agora você faz upload:
Para conferir a lista completa de dicas gerais de desenvolvimento no Cloud Run, leia esta documentação.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.