javascript Gatsby / Contentful - createPages

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript Gatsby / Contentful - createPages相关的知识,希望对你有一定的参考价值。

exports.createPages = ({graphql,actions}) => {
  const {
    createPage
  } = actions

  const createPages = new Promise((resolve,reject) => {
    resolve(
      graphql(
        `
          {
            pages: allContentfulPage {
              edges {
                node {
                  slug
                }
              }
            }
          }
        `
      ).then(({
        errors,
        data
      }) => {
        if (errors) {
          console.log(errors)
          reject(errors)
        }

        const pages = data.pages.edges.map(entry => entry.node)
        
        pages.forEach(entry => {
          let slug = entry.slug

          createPage({
            path: slug === `home` ? '/' : `/${slug}/`,
            component: templates[slug] || templates.page,
            context: {
              slug
            }
          })
        })
      })
    )
  })

  return Promise.all([
    createPages
  ])
}

以上是关于javascript Gatsby / Contentful - createPages的主要内容,如果未能解决你的问题,请参考以下文章

javascript gatsby / contentful - createContentTypePages

javascript Gatsby / Contentful - link.js

javascript Gatsby / Contentful - createPages

javascript 结合Gatsby.js风格导入

javascript Gatsby / Webpack - 相对于root导入

javascript Gatsby / Contentful - image-background.js