es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Imagen Gatsby no encontrada

Así que estoy jugando con la creación de un blog de markdown y por alguna razón no puedo lograr que funcionen las imágenes.

Gatsby-config.js

js
plugins: [
'gatsby-plugin-image',
'gatsby-plugin-sharp',
'gatsby-transformer-sharp',
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'images',
path: ${__dirname}/src/images/,
},
__key: 'images',
},
]

Las imágenes se almacenan en src/images

blogpost.md

“`md

title: Nuevo proveedor
image: ../images/new-provider.jpg
imageMeta:
attribution:
attributionLink:

featured: false


Así es como estoy consultando los datos <code>js export const query = graphql` query PostsByID($slug: String!) { mdx(slug: { eq: $slug }) { body frontmatter { title authors date featured image tags } } } `; </code> Y aquí está mi elemento <code>img</code> ```tsx <Img alt={title} fluid={image} key={title} /> // También intenté esto <img alt={title} src={image} />

Cuando la página se carga, solo veo mi texto alternativo y en la consola veo http://localhost:8000/images/new-provider.jpg

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás utilizando el complemento gatsby-plugin-image, pero no lo estás utilizando correctamente en tu código. En lugar de usar el elemento estándar img, debes usar el componente GatsbyImage del paquete gatsby-plugin-image.

    Cambia tu declaración de importación para incluir GatsbyImage:

    import { graphql, Link } from 'gatsby';
    import { GatsbyImage, getImage } from 'gatsby-plugin-image';
    

    Y actualiza cómo renderizas la imagen en tu publicación:

    const { title, image } = data.mdx.frontmatter;
    
    <gatsbyimage image="{getImage(image)}" alt="{title}"></gatsbyimage>
    

    Esto debería resolver tu problema y renderizar correctamente tus imágenes utilizando el complemento gatsby-plugin-image. Además, asegúrate de que las rutas de tus imágenes sean correctas y apunten a la ubicación correcta en tu archivo gatsby-config.js.

Comments are closed.