Nele posso realizar diversas configurações do meu projeto Next.js, inclusive adicionar e configurar plugins para serem utilizados.
O plugin de Rewrites é de rotas, ou seja, redirecionar o usuário para uma rota quando o mesmo tenta acessar outra. Como uma verificação do tipo: Se usuário entrar em /exemplo, ele deve ir para /examplo/todos.
Pode ser feito da seguinte maneira, imagine que o domínio nesse exemplo é dominio.com
module.exports = {
async rewrites(){
return [
{
source: '/:path*',
destination: '/:path*',
},
{
source: '/:path*',
destination: 'http://outro_dominio/:path*',
},
{
source: '/teste',
destination: '<http://dominio.com/exemplo>',
},
]
},
}
<aside> 💡 O :path* é uma varíavel que guarda o caminho digitado pelo usuário, o Endpoint.
Note no código de exemplo acima 3 exemplos de **Rewrites:
→** Ao acessar uma rota qualquer, ele buscará em nossa aplicação se existe um arquivo correspondente para aquela rota e o redirecionará para lá.
→ Ao acessar uma rota qualquer, ele redirecionará para outro domínio com o Endpoint digitado.
→ Ao acessar a rota /teste, ele redirecionará para o domínio da aplicação em outro Endpoint, que nesse exemplo é o /exemplo.
</aside>
Como possibilitar que a aplicação possa gerar um PWA:
Plugin para definir os Domínios de origem como fonte das imagens que serão utilizadas no Componente Image do next/image.
module.exports = {
images: {
domains: ['storage.googleapis.com', 'outrodominio.com.br']
}
}