- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用 Gatsby,看看以 Craft 为后端,以 Gatsby 为前端重建我公司的 CraftCMS 网站是否是一个不错的选择。到目前为止,一切都运行良好,直到需要在我们的“事件” channel 中查询各个条目。
郑重声明,我已经能够使用 .map() 为“整体 View ”页面上的每个事件条目呈现完整列表,以查看所有事件。我还能够递归地构建每个事件页面,以便它调用我的/src/templates/campaign-page.js 模板,并从我网站的 Craft API 中毫无问题地提取正确的 slug。出于某种原因,我无法让我的个人事件数据在 campaign-page.js 模板中查询。
我几乎阅读了 Gatsby 文档中的每一页和当前存在的每一个教程,但我终究无法弄清楚为什么我的 GraphQL 查询不会过滤我的个人事件条目。它一直告诉我,“GraphQL 错误预期类型 [String],找到 {eq: $slug}。”
我也试过根据一些 Markdown 文档将我的“slug: {eq: $slug}问题在我的 gatsby-node.js 文件中,但是当我将它与文档进行比较时我没有发现任何问题。
Gatsby 节点.js
const path = require(`path`)
exports.createPages = async ({ actions, graphql }) => {
const { data } = await graphql(`
query {
api {
entries(section: "campaigns") {
slug
}
}
}
`)
data.api.entries.forEach(({ slug }) => {
actions.createPage({
path: "/campaigns/" + slug,
component: path.resolve(`./src/templates/campaign-page.js`),
context: {
slug: slug,
},
})
})
}
Campaign-page.js
export default ({data}) => {
const post = data.api.entries
return(
<div className={"campaign-page-single"} style={{marginTop: '-21px,'}}>
<Header/>
<div>
<h1>{post.id}</h1>
</div>
</div>
)
}
export const campaignQuery = graphql`
query ($slug: String!){
api{
entries (slug: { eq: $slug }){
slug
id
... on API_campaigns_campaigns_Entry {
id
campaignTitle
slug
}
}
}
}
`
作为引用,这是我的主要 campaigns.js 页面上典型的工作查询的样子,其中列出了所有可用的事件:
query = {graphql`
{
api {
entries(section: "campaigns") {
... on API_campaigns_campaigns_Entry {
id
campaignTitle
uri
slug
}
}
}
}
`}
我希望我的/src/templates/campaign-page.js 模板能够呈现单个事件数据。
最佳答案
我终于让我的一位同事看了我的代码。我所要做的就是将我的 $slug 变量放在方括号中:
entries (section: "campaigns", slug: [$slug] )
那两天我希望我能回来。
关于javascript - CraftCMS Gatsby 项目抛出错误 "GraphQL Error Expected type [String], found {eq: $slug}.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58435261/
我正在使用 CraftCMS,但出现此错误: Invalid Configuration – yii\base\InvalidConfigException craft\web\Request::co
我刚开始使用 Gatsby,看看以 Craft 为后端,以 Gatsby 为前端重建我公司的 CraftCMS 网站是否是一个不错的选择。到目前为止,一切都运行良好,直到需要在我们的“事件” chan
我是一名优秀的程序员,十分优秀!