本地图像:编辑gatsby模式以将本地路径转换为文件

时间:2020-04-23 18:30:45

标签: graphql gatsby gatsby-plugin-intl

我正在使用gatsby,并且需要显示给定实体的多个图像。图像路径存储在MySQL表中,我可以很好地获取它们。

我的查询如下:

{
  mysqlSet(entity_id: {eq: "10270"}) {
    name
    images {
      url
    }
  }
}

哪个给我这样的结果:

{
  "data": {
    "mysqlSet": {
      "name": "My Entity Name",
      "images": [
        {
          "url": "./images/10270-0.png"
        },
        {
          "url": "./images/10270-1.png"
        },
        {
          "url": "./images/10270-2.png"
        }
      ]
    }
  }
}

因此,问题是:如何修改架构以反映这些字段实际上是图像?我的意思是,这就是我要遵循的道路,但我不知道该怎么做。

基本上,我需要将图像捕获为文件,然后将它们与gatsby的内置Img组件一起使用。

1 个答案:

答案 0 :(得分:0)

您可以使用allFile进行查询,并使用所需的扩展名进行过滤,例如:

 {
      allFile(filter: {ext: {eq: ".png"}}) {
        edges {
          node {
            absolutePath
          }
        }
      }
    }