我有:
- src
- data
- data.json
Run Code Online (Sandbox Code Playgroud)
data.json:
"gallery": [
{"name":...
{"name":.. ...
Run Code Online (Sandbox Code Playgroud)
gatsby-config.js包含:
`gatsby-transformer-json`,
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/data`,
name: `data`,
},
},
Run Code Online (Sandbox Code Playgroud)
如何通过GraphQL查询从此json文件获取gallery.names列表?我正在尝试写:
export const IndexQuery = graphql`
query IndexQuery {
mydata: file(name: { eq: "data" }, extension: { eq: "json" }) {
allFile {
gallery {
name
}
}
}
}
`
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
您的GraphQL查询需要一些调整。该gatsby-transformer-json
负责所有的解决,所以你不需要操心gatsby-source-filesystem
的查询中:
export const IndexQuery = graphql`
query IndexQuery {
dataJson {
gallery {
name
}
}
}
`;
Run Code Online (Sandbox Code Playgroud)
然后在页面/布局中使用它,例如:
this.props.data.dataJson.gallery
Run Code Online (Sandbox Code Playgroud)
要调试您的GraphQL查询,使用内置的GraphiQL很有帮助,后者应在http:// localhost:8000 / ___ graphql上运行。
归档时间: |
|
查看次数: |
4103 次 |
最近记录: |