使用 gatsbyjs 在降价中渲染图像时出现问题

Trouble rendering images in markdown with gatsbyjs

我正在使用以下 GatsbyJS 启动器:https://www.gatsbyjs.com/starters/jannikbuschke/gatsby-antd-docs/

我正在尝试在降价文件中渲染图像,如下所示: ![US Energy Infrastructure Visualization](/src/images/us-viz.png)

降价文件位于contents/docs/templates/use-cases/us-energy-infrastructure.md

图像位于src/images/us-viz.png

结果如下:

控制台和网络选项卡显示请求的图像文件出现 404 错误:

这是我的 gatsby-config.js 文件的内容:

module.exports = {
  siteMetadata: {
    title: 'Energy Infrastructure API Documentation',
  },
  plugins: [
    `gatsby-plugin-typescript`,
    `gatsby-plugin-react-helmet`,
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    `gatsby-transformer-json`,
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `menuItems`,
        path: `${__dirname}/src/menuItems`,
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `sidebar`,
        path: `${__dirname}/src/sidebar`,
      },
    },
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `contents`,
        path: `${__dirname}/contents`,
      },
    },
    `gatsby-plugin-image`,
    `gatsby-transformer-sharp`,
    `gatsby-plugin-sharp`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: 'gatsby-starter-markdown',
        short_name: 'starter',
        start_url: '/',
        background_color: '#663399',
        theme_color: '#663399',
        display: 'minimal-ui',
        icon: 'src/images/gatsby-icon.png', // This path is relative to the root of the site.
      },
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [`gatsby-remark-images`],
      },
    },
    {
      resolve: `gatsby-plugin-mdx`,
      options: {
        defaultLayouts: {
          default: require.resolve('./src/Layout.tsx'),
        },
        extensions: ['.mdx', '.md'],
        // workaround: https://github.com/gatsbyjs/gatsby/issues/16422#issuecomment-518985316
        plugins: [`gatsby-remark-autolink-headers`],
        gatsbyRemarkPlugins: [
          `gatsby-remark-katex`,
          {
            resolve: `gatsby-remark-images`,
            options: {
              maxWidth: 1035,
            },
          },
          `gatsby-remark-autolink-headers`,
          {
            resolve: `gatsby-remark-prismjs`,
            options: {
              classPrefix: 'language-',
              inlineCodeMarker: null,
              showLineNumbers: true,
              noInlineHighlight: false,
            },
          },
        ],
      },
    },
    `gatsby-plugin-remove-trailing-slashes`,
    // this (optional) plugin enables Progressive Web App + Offline functionality
    // To learn more, visit: https://gatsby.app/offline
    // 'gatsby-plugin-offline',
  ],
  /// this must match the path your webpage is displayed from (the second part of the ternary will be the path prefix for production)
  pathPrefix: process.env.NODE_ENV === 'development' ? '' : '',
}

它似乎满足 Gatsby docs

中指定的使用 Transformer Remark 插件的必要要求

据我所知,我用来将图像插入 markdown 文件的方法应该可行,但我不确定这里发生了什么。非常感谢任何建议!

来自 gatsby-remark-images 插件文档:

You can reference an image in markdown using the relative path, where that path is relative to the location of the Markdown file you’re typing in.

gatsby-remark-images documentation

所以如果你的降价路径是:

contents/docs/template/use-cases/us-energy-infrastructure.md

而你的图片位置是:

src/images/us-viz.png

您应该像这样从 markdown 引用您的图像文件:

![Alt text here](../../../../src/images/us-viz.png)