You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gatsby-plugin-mdx与gatsby-remark-images时MDX图片无法显示

MDX图片显示0x0问题的解决方法

从你给出的信息来看,图片资源已经被Gatsby正确处理(生成了多尺寸的webp/png文件),但容器元素尺寸为0x0,核心原因是图片容器的宽高比计算异常或样式冲突,以下是具体解决步骤:

1. 排查相对路径引用是否正确

确认MDX文件的位置与图片路径的对应关系:

  • 若MDX在articles文件夹中,./images/icon.png会指向articles/images,但你的gatsby-source-filesystem未配置该路径,需补充对应配置,或调整MDX中的图片路径为../src/images/icon.png(根据实际目录结构调整)。

2. 修复gatsby-remark-images的尺寸计算问题

控制台中gatsby-resp-image-background-image的padding-bottom:100%是正方形比例,若你的图片非正方形,可能插件未正确读取原始尺寸:

  • 升级gatsby-plugin-sharp和gatsby-remark-images到最新兼容版本,版本不兼容常导致尺寸计算错误;
  • 在gatsby-remark-images配置中临时禁用WebP转换(withWebp: false),排查是否为格式转换导致的问题;
  • 强制添加CSS修复容器样式:
    .gatsby-resp-image-wrapper {
      display: block !important;
      position: relative !important;
      width: 100%;
      min-height: 100px; /* 临时设置最小高度验证 */
    }
    

3. 采用Frontmatter + MDXProvider方案(推荐)

通过Frontmatter管理图片,用Gatsby官方组件渲染,避免相对路径问题:

  1. 在MDX文件的Frontmatter中声明图片:
    ---
    profileImage: "../src/images/icon.png"
    ---
    
  2. 在博客模板中获取图片数据并渲染:
    import { GatsbyImage, getImage } from "gatsby-plugin-image"
    import { MDXProvider } from "@mdx-js/react"
    
    export default function BlogTemplate({ data, children }) {
      const profileImg = getImage(data.mdx.frontmatter.profileImage)
      return (
        <MDXProvider components={components}>
          {profileImg && <GatsbyImage image={profileImg} alt="profile" />}
          {children}
        </MDXProvider>
      )
    }
    
    // 对应的GraphQL查询需包含frontmatter的图片字段
    export const query = graphql`
      query($id: String!) {
        mdx(id: { eq: $id }) {
          frontmatter {
            profileImage {
              childImageSharp {
                gatsbyImageData(width: 500, quality: 50)
              }
            }
          }
        }
      }
    `
    

4. Static文件夹快速解决

将图片放到项目根目录的static/images文件夹中,使用绝对路径引用:

![profile](/images/icon.png)

此方式无需依赖任何图片处理插件,直接静态加载,适合快速验证问题。

内容的提问来源于stack exchange,提问作者Davide_Romano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 21:53:20