Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

As imagens são uma parte importante de qualquer site ou aplicativo. Eles ajudam a tornar o conteúdo mais envolvente e visualmente atraente.

No entanto, se as imagens não forem otimizadas corretamente, elas também podem deixar um site ou aplicativo lento.

Por que otimizar imagens?

Existem algumas razões pelas quais é importante otimizar as imagens.

  • Pode ajudar a melhorar o tempo de carregamento do site ou aplicativo.
  • Ele pode reduzir a quantidade de dados que um cliente precisa baixar, o que pode economizar nos custos de largura de banda.
  • Pode ajudar a melhorar o desempenho geral do site ou aplicativo.

Como otimizar imagens em Next.js

Existem várias maneiras de otimizar imagens no Next.js. Uma delas é usar o componente Image. Este componente otimiza automaticamente as imagens para desempenho.

Outra maneira de otimizar imagens é usar recursos de processamento de imagem integrados. O Next.js pode redimensionar, compactar e otimizar imagens automaticamente para desempenho.

Finalmente, você pode usar uma biblioteca de terceiros como react-optimized-image. Esta biblioteca fornece uma variedade de recursos de otimização de imagem.

Usando o componente de imagem

O componente Image é a maneira mais fácil de otimizar imagens no Next.js. Para utilizá-lo, basta importar o componente do próximo/imagem pacote.

Depois de importar o componente, você pode usá-lo como qualquer outro no React. O componente Image tem alguns props que você pode usar para controlar como ele renderiza as imagens.

importar Imagem de 'próximo/imagem'

exportarpadrãofunçãoMinha imagem() {
retornar (
<Imagem
origem="/my-image.jpg"
largura="200"
altura="200"
qualidade="100"
alt="Minha imagem"
/>
)
}

Neste exemplo, o componente Image renderiza uma imagem com largura de 200px e altura de 200px. Você também pode usar CSS ou um framework como o Tailwind para estilizar seu aplicativo e imagens.

Algumas das props necessárias para o componente Image são largura, altura, origem e alt. A propriedade src é a URL da imagem que você deseja usar. Use as propriedades de largura e altura para definir a largura e a altura da imagem, em pixels. O alt prop é o texto alternativo para a imagem.

Algumas props opcionais para o componente Image são layout, loader, placeholder e priority. A propriedade de layout especifica o layout da imagem. Você pode usar o loader prop para especificar um carregador de imagem personalizado. A propriedade de espaço reservado especifica um espaço reservado de imagem personalizado. A propriedade priority especifica a prioridade da imagem.

Alguns dos benefícios de usar o componente Image são:

  • Performance melhorada: Um dos principais benefícios de usar o componente Image é o desempenho aprimorado. O componente otimiza automaticamente as imagens para desempenho.
  • Redimensionamento automático de imagens: Outro benefício de usar o componente Image é o redimensionamento automático da imagem. O componente pode redimensionar automaticamente as imagens para ajustar os suportes de largura e altura.
  • Compressão Automática de Imagem: O componente Imagem também pode compactar imagens automaticamente para reduzir o tamanho do arquivo.
  • Suporte de carregamento lento: O componente Image também suporta carregamento lento. Isso significa que ele só carregará as imagens quando estiverem visíveis na tela.

Usando uma biblioteca de terceiros

Se precisar de mais controle sobre a otimização de imagens, você pode usar uma biblioteca de terceiros como imagem otimizada para reação. Esta biblioteca fornece uma variedade de recursos de otimização de imagem.

Alguns dos recursos da imagem otimizada para reação incluem:

  • Otimize as imagens no cliente e no servidor: react-optimized-image pode otimizar imagens no cliente e no servidor. Isso significa que as imagens são otimizadas para desempenho e tamanho do arquivo.
  • Redimensionamento automático de imagem: react-optimized-image pode redimensionar automaticamente as imagens para ajustar os suportes de largura e altura.
  • Compressão automática de imagem: react-optimized-image também pode compactar imagens automaticamente para reduzir o tamanho do arquivo.
  • Suporte de carregamento lento: react-optimized-image também suporta carregamento lento. Isso significa que ele só carregará as imagens quando estiverem visíveis na tela.
  • Suporte para vários formatos de imagem: react-optimized-image oferece suporte a vários formatos de imagem, incluindo JPEG, PNG e WebP.

Para usar react-optimized-image, basta instalar a biblioteca com npm.

Depois de instalar a biblioteca, você pode importá-la para o seu projeto.

importar imagem de 'react-optimized-image'

exportarpadrãofunçãoNextImg() {
retornar (
<imagem
origem="/my-image.jpg"
tamanhos={[400, 800]}
alt="Minha imagem"
/>
)
}

Você também pode usar arquivos SVG com imagem otimizada de reação.

importar {Svg} de 'react-optimized-image'

exportarpadrãofunçãoNextImg() {
retornar (
<svg
origem="/my-image.svg"
className=vermelho cheio
/>
)
}

Este exemplo usa a prop className para especificar um nome de classe para o SVG. Você pode usar esse nome de classe para estilizar o SVG com CSS ou interagir com ele usando JavaScript.

react-optimized-image também fornece alguns outros benefícios sobre os recursos de otimização de imagem integrados.

Um benefício de usar um pacote em vez de recursos integrados é que ele pode gerar automaticamente diferentes tamanhos de imagens. Isso significa que você não precisa criar versões diferentes da mesma imagem.

Outro benefício é que ele pode servir automaticamente o tamanho de imagem apropriado para o dispositivo do usuário. Isso significa que dispositivos com telas de alta resolução obterão uma imagem de alta resolução e dispositivos com telas de baixa resolução obterão uma imagem de baixa resolução.

Por fim, a imagem otimizada para reação é uma solução completamente projeto de código aberto. Isso significa que você pode contribuir com a biblioteca se precisar de um recurso específico ou correção de bug.

Qual método você deve usar?

Então, qual método você deve usar para otimizar imagens em Next.js?

Se você precisar de otimização básica de imagem, poderá usar os recursos de processamento de imagem integrados. Essa é a maneira mais fácil de começar a otimizar imagens.

Se você precisar de mais controle sobre a otimização da imagem, poderá usar uma biblioteca de terceiros como react-optimized-image. Essa biblioteca fornece recursos de otimização de imagem mais avançados.

Se você precisa do melhor desempenho absoluto, pode usar uma combinação dos recursos de processamento de imagem integrados e uma biblioteca de terceiros. Isso lhe dará o melhor dos dois mundos. No entanto, essa abordagem não é recomendada para iniciantes, pois requer mais configuração.

Melhore o SEO com imagens otimizadas

Ao otimizar as imagens em seu site ou aplicativo, você pode melhorar seu SEO. O algoritmo do Google leva em consideração a velocidade de carregamento de sites e aplicativos. Se o seu site ou aplicativo carregar lentamente, isso afetará negativamente o seu SEO.

Com imagens otimizadas, você pode melhorar o tempo de carregamento do seu site ou aplicativo, o que pode melhorar seu SEO. Depois disso, você também pode adicionar protocolo de gráfico aberto para um desempenho ainda melhor.