首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何正确配置gatsby源-棱镜图形do预览功能?

如何正确配置gatsby源-棱镜图形do预览功能?
EN

Stack Overflow用户
提问于 2020-06-03 05:04:55
回答 1查看 346关注 0票数 2

我正在使用gatsby源-棱镜-图形插件,并试图适当地配置它的棱镜预览功能。

预期功能

在一个已经发布的文档上,我做了一个修改,保存,然后点击眼球预览按钮。我希望被重定向到我的本地Gatsby +棱镜实例,重定向到所需的页面,并查看我所做的更改。

到底发生了什么,

我改变了棱镜CMS,点击预览,然后被重定向到localhost:8000/,而不是我想要预览的页面。

下面的百里麦疑难解答文章部分是“您能在浏览器中看到预览cookie吗?”我能够看到我所做的预览更改,表明“问题在代码中”。

是my gatsby-config.js 还是gatsby-config.js未正确配置?

src/utils/linkResolver.js

代码语言:javascript
代码运行次数:0
运行
复制
exports.linkResolver = function linkResolver(doc) {

  // Route for customers page
  if (doc.type === 'Customers') {
    return "/" + doc.uid;
  }

  // Homepage route fallback
  return '/'
}

gatsby-config.js相关部分

代码语言:javascript
代码运行次数:0
运行
复制
    {
      resolve: 'gatsby-source-prismic-graphql',
      options: {
        repositoryName: 'my-repo', // (REQUIRED, replace with your own)
        accessToken: `${process.env.API_KEY}`, // (optional API access token)
        path: '/preview', // (optional preview path. Default: /preview)
        previews: true, // (optional, activated Previews. Default: false)
        pages: [
          { // (optional, builds pages dynamically)
            type: 'Customers',         // TypeName from prismic
            match: '/customers',  // Pages will be generated under this pattern
            path: '/customers-preview', // Placeholder route for previews
            component: require.resolve('./src/templates/customers.js'),
          },
        ],
      }
    }

棱镜预览设置

这是我的棱镜预览设置的照片。

域:localhost:8000

链接解析器:/preview

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 14:10:02

您可以在这里发布传递linkResolver的代码吗?有可能'doc.type‘正在返回一个未定义的代码,因为在graphQL中,您需要传递包含页面UID的_meta。

您还可以检查这个文档如何配置linkResolver。

因此,如果您的代码是这样的,:

代码语言:javascript
代码运行次数:0
运行
复制
   <a href={Link.url(document.generic_link, linkResolver)}>Go to page</a>

您的GraphQL查询如下

代码语言:javascript
代码运行次数:0
运行
复制
    generic_link {
      ... on PRISMIC_Linked_page {
        _linkType
        _meta {
          uid
        }
      }
    }

然后您的linkResolver应该是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
linkResolver(doc) {
  if (doc.type === 'page') {
    return `/${doc._meta.uid}`
  }
  return '/'
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62165553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档