我在Nuxt中使用GraphQL从GitHub获取数据进行了尝试。(Wǒ zài Nuxt zhōng shǐyòng GraphQL cóng GitHub huòqǔ shùjù jìnxíngle chángshì.)

我在使用Nuxt(v2.12.2)创建的项目中调用了GitHub GraphQL API,尝试获取我自己的GitHub帐户创建的存储库信息。

可以做的事情 zuò de

    @nuxt/apolloでgraphqlでgithubのアカウント情報を取得

1. 创建项目 (CJZ)

在本案中,我使用了Nuxt-v2.12.2。

npx create-nuxt-app プロジェクト名

创建一个 Nuxt 项目并进行初始设置。(省略)

2. 安装模块。

    @nuxtjs/apollo
yarn add @nuxtjs/apollo

尝试执行 yarn dev 时出现错误。
根据所使用的 Nuxt 版本,似乎需要安装相应的 core-js 版本。

    core.js
yarn add core-js@2.6.11

3. nuxt.config.js 的配置

在文件中添加以下内容

modules: ["@nuxtjs/apollo"],
  apollo: {
    clientConfigs: {
      default: "~/plugins/apollo-auth.js"
    }
  }

4. 插件的配置

获取访问令牌的方法,请参阅页面底部。

export default function(context) {
  const accessToken = アクセストークン;

  return {
    httpEndpoint: "https://api.github.com/graphql",
    getAuth: () => `Bearer ${accessToken}`
  };
}

创建一个查询

创建apollo/queries/getRepositories.graphql

{
  viewer {
    login
    repositories(first: 5) {
      edges {
        node {
          name
          id
        }
      }
    }
  }
}

获取数据并输出。

<template>
  <div>
    <h3>Github repositories</h3>
    <ul>
      <li v-for="edge in viewer.repositories.edges" :key="edge.node.id">
        {{ edge.node.name }}
      </li>
    </ul>
  </div>
</template>

<script>
import getRepositories from "~/apollo/queries/getRepositories.graphql";

export default {
  data() {
    return {
      viewer: []
    };
  },

  apollo: {
    viewer: {
      query: getRepositories
    }
  }
};
</script>

请您提供以下材料作为参考。

获取github API的访问令牌的方法

https://github.com/settings/tokens

个人访问令牌的左侧列表

右上角的生成新令牌

输入密钥名称

在repo上勾选

生成令牌

存储好访问令牌,因为它只会显示一次。

广告
将在 10 秒后关闭
bannerAds