Recibí este error al implementar Next.js en Netlify.
Error: Image Optimization using Next.js default loader is not compatible with `next export`. Possible solutions: 6:47:15 AM: - Use `next start`, which starts the Image Optimization API. 6:47:15 AM: - Use Vercel to deploy, which supports Image Optimization. 6:47:15 AM: - Configure a third-party loader in `next.config.js`. 6:47:15 AM: - Read more: https://err.sh/next.js/export-image-api. 6:47:15 AM: at exportApp (/opt/build/repo/node_modules/next/dist/export/index.js:14:712)El problema no ocurre cuando se implementa en Vercel.
La mejor manera de evitar este problema es usar Vercel para la implementación. Tengo otros problemas con mi sitio next.js alojado en netlify, pero desde que volví a implementar Vercel, todos los problemas desaparecieron.
Enfrenté el mismo problema al usar next export . Todavía recibo este error:
Error: la optimización de imágenes con el cargador predeterminado de Next.js no es compatible con
next export. Soluciones posibles:
- Utilice
next startpara ejecutar un servidor, que incluye la API de optimización de imágenes.- Utilice cualquier proveedor que admita la optimización de imágenes (como Vercel).
- Configure un cargador de terceros en
next.config.js.- Use el apoyo del
loaderparanext/image.
Entonces, para que mi cargador personalizado funcione correctamente, necesitaba establecer una ruta a una cadena vacía:
module.exports = { // https://github.com/vercel/next.js/issues/21079 // Remove this workaround whenever the issue is fixed images: { loader: 'imgix', path: '', }, } PERO, cuando abro el archivo index.html resultante, ninguna de las imágenes o JS se cargan.
Entonces, para aquellos que también enfrentan esto, intente establecer la ruta a / como tal:
module.exports = { // https://github.com/vercel/next.js/issues/21079 // Remove this workaround whenever the issue is fixed images: { loader: 'imgix', path: '/', }, }establecer images.loader en 'imgix' provocó errores de desarrollo y compilación.
usé esto en su lugar:
// next.config.js module.exports = { images: { loader: 'akamai', path: '', }, } los valores posibles para images.loader son: [predeterminado, imgix, cloudinary, akamai, personalizado]
referencia: https://nextjs.org/docs/api-reference/next/image#built-in-loaders
Parece que usas next/images. Pero next/images no funcionan con páginas estáticas (generadas con next export ) Para páginas estáticas, use este optimizador de imágenes: imágenes optimizadas siguientes en su lugar