Javascript 盖茨比MDX显示标题和slug,但没有';找不到页面

Javascript 盖茨比MDX显示标题和slug,但没有';找不到页面,javascript,reactjs,graphql,gatsby,Javascript,Reactjs,Graphql,Gatsby,我正在学习盖茨比,我想在博客页面上使用MDX。我按照教程以编程方式创建页面 我可以在我的GraphQL中看到它们,显示所有文章的列表时使用了它们的标题和slug,但是当我单击链接打开它们或键入它们的地址时,我有一个404页面。你知道它从哪里来吗 这是我的代码: gatsby-node.js: exports.onCreateNode = ({ node, actions, getNode }) => { const { createNodeField } = actions

我正在学习盖茨比,我想在博客页面上使用MDX。我按照教程以编程方式创建页面

我可以在我的GraphQL中看到它们,显示所有文章的列表时使用了它们的标题和slug,但是当我单击链接打开它们或键入它们的地址时,我有一个404页面。你知道它从哪里来吗

这是我的代码:

gatsby-node.js:

exports.onCreateNode = ({ node, actions, getNode }) => {
    const { createNodeField } = actions

    if (node.internal.type === "Mdx") {
        const value = createFilePath({ node, getNode })

        createNodeField({
            name: "slug",
            node,
            value: `/blog${value}`,
        })
    }
}
gatsby-config.js:

plugins: [
        {
        resolve: `gatsby-plugin-mdx`,
        options: {
            defaultLayouts: { default: path.resolve('./src/layouts/post.js') },
            extensions: [`.mdx`, `.md`],
        },
    },

    {
        resolve: `gatsby-source-filesystem`,
        options: {
            name: `posts`,
            path: `${__dirname}/src/posts`
        }
    },
],
index.js(带列表):

模板:

<div>
    <div className="content" dangerouslySetInnerHTML={{ __html: post.html }}></div>
</div>
export const pageQuery = graphql`
    query BlogPostQuery($id: String) {
        mdx(id: { eq: $id }) {
            id
            body
            frontmatter {
                title
            }
        }
    }
`
如果你想测试,我做了回购:


谢谢你的回答

您缺少页面创建部分。在您的
gatsby node.js
中添加以下内容:

const path=require(“路径”)
exports.createPages=异步({graphql,actions,reporter})=>{
//从actions对象中解构createPage函数
const{createPage}=actions
常量结果=等待图形ql(`
质疑{
allMdx{
边缘{
节点{
身份证件
田地{
鼻涕虫
}
}
}
}
}
`)
if(result.errors){

reporter.panicOnBuild('如果问题已经解决,请接受答案以结束问题。
<div>
    <div className="content" dangerouslySetInnerHTML={{ __html: post.html }}></div>
</div>
export const pageQuery = graphql`
    query BlogPostQuery($id: String) {
        mdx(id: { eq: $id }) {
            id
            body
            frontmatter {
                title
            }
        }
    }
`