首页 > 其他分享 >Nextjs Contentful GraphQL Vercel Edges

Nextjs Contentful GraphQL Vercel Edges

时间:2023-02-22 03:55:06浏览次数:57  
标签:const Edges client Contentful API GraphQL 模板 apollo contentfulData

  1. 配置contentful
    • 创建免费账号
    • 根据提示进行操作,
      • Content Model - 创建页面属性模板 (personalWebsite)
      • content entry  -  根据属性模板,添加内容,最后发布
      • API call - 发布后,可以使用Graph QL 或者 REST Api 获取内容
    • 在Settings -> API Keys 中,添加新的API key. (系统默认会创建几个,所以可以直接使用或者自己创建.)
      • 保存Space ID, Content Delivery API - access token, 如果有预览网页的话,可以保存下
  2. 创建react项目,这里我创建的是Nextjs项目
    • npx create-next-app@latest --typescript
      • Next中有关于GraphQL的模板,我没有使用: npx create-next-app next-with-apollo
    • 使用Apollo Client插件来连接API
      • npm install @apollo/client graphql
      • 初始化Apollo - `apollo-client.js`
      • // apollo-client.ts
        import { ApolloClient, InMemoryCache } from "@apollo/client";

        const client = new ApolloClient({
        uri: `https://graphql.contentful.com/content/v1/spaces/${process.env.CONTENTFUL_SPACE_ID}/environments/master?access_token=${process.env.CONTENTFUL_DELIVERY_API_KEY}`,
        cache: new InMemoryCache(),
        });

        export default client;

 

    • Query 部分,点击Open GQL Playground会给你基本模板,然后添加自己需要的属性ID就可以
      •  
    •     // page/index.tsx
      
      const Home: NextPage = (props:any) => {
        const {contentfulData} = props
        
        return (
          <div className={styles.container}>
            {
               JSON.stringify(contentfulData)
            }
          </div>
        )
      }
      
      export async function getStaticProps() {
        const {data} = await client.query({
          query: gql`
              query contentfulData {
                lasalleCollege(id: "5vl5HzuiPl2LaZfbvLDKya") {
                  lciCampuses,
                  title
                }
              }
            `,
        });
      
        return {
          props: {
            contentfulData: data,
          },
        };
      }
      
      export default Home

       

标签:const,Edges,client,Contentful,API,GraphQL,模板,apollo,contentfulData
From: https://www.cnblogs.com/ningxin/p/17143078.html

相关文章

  • GraphQL (三) Authentication 和 Authorication
    本文介绍GraphQL中的Authenication和Authorication参考:https://graphql.org/learn/authorization/https://www.apollographql.com/docs/apollo-server/security/authen......
  • .Net6 + GraphQL + MongoDb 实现Subscription监听功能
    介绍查询、添加、修改我们已经演示了,我们来看下订阅。订阅大家可以理解为音乐软件,我们用户=>订阅音乐频道<=服务发送新的音乐通知到频道。有新的通知进入频道后,频......
  • 我为什么要放弃 RESTful,选择拥抱 GraphQL 转载
    REST作为一种现代网络应用非常流行的软件架构风格,自从RoyFielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web......
  • .Net6 + GraphQL + MongoDb 实现Mutate更新数据
    介绍Query的部分我们讲完了,现在讲一下Mutate(就是操作增修删)本节讲一下修改,删除就不讲了正文publicrecordUpdatePostInput(stringPostId,stringTitle,string......
  • GraphQL 实现Query按需检索Projections
    介绍上一节我们实现一个简单Query查询,从监控信息上面来看我们调用数据使用的是全表检索。这一节我看来看下如何实现按需检索正文修改Programbuilder.Services.Add......
  • GraphQL 实现一个简单的Query
    介绍上一节我们简单搭建了项目的结构本节我们来实现一个简单Query查询正文新建PostQuery.cs,新建Core文件夹存放publicclassPostQuery{publicIE......
  • GraphQL 项目搭建
    介绍讲一下GraphQL的各种特性和如何使用,让大家感受下。CODE4NOTHING大佬之前在博客园更新了一些GraphQL的知识是和EF的结合使用,文章使用的实体模型来自于CODE4NOTHING大......
  • 开放API 与 查询语言GraphQL
    1、开放API什么是API?API(ApplicationProgrammingInterface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开......
  • Educational Codeforces Round 72 (Rated for Div. 2)D. Coloring Edges 神仙规律
    D.ColoringEdgestimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputYouaregivenadirectedgraphw......
  • 我为什么要放弃RESTful,选择拥抱GraphQL
    背景REST作为一种现代网络应用非常流行的软件架构风格,自从RoyFielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广......