使用graphql-tools模拟总是在vuejs中返回null

问题描述

我正在使用graphql-tools并随意在vuejs上模拟数据。但是我不知道为什么我的模拟查询总是返回null。

这是我创建的一些文件:

src/api/mock-link.ts

import { makeExecutableSchema } from "@graphql-tools/schema";
import { addMocksToSchema } from "@graphql-tools/mock";
import { SchemaLink } from "apollo-link-schema";
import { typeDefs } from "@/mock";

const schema = makeExecutableSchema({ typeDefs });

addMocksToSchema({
  schema,mocks: {},preserveResolvers: false
});
export default new SchemaLink({ schema });

我已阅读https://www.graphql-tools.com/docs/mocking/中的文档并创建了此文件。

这是我的架构文件: src/mock/graphql/genre.graphql

extend type Query {
  allGenres: [Genre!]
}

type Genre {
  id: ID
  name: String
}

和模拟文件: src/mock/graphql/index.ts

export default [
  require("./genre.graphql"),]

src/mock/genre.ts

import casual from "casual-browserify";
import { MockList } from "@graphql-tools/mock";

export default {
  Query: () => ({
    allGenres: () => new MockList(10)
  }),Genre: () => ({
    id: casual.integer(1,100),name: casual.name
  })
}

src/mock/index.ts

import genre from "./genre";

// GraphQL Schemas
import graphQLschemas from "./graphql";

export const typeDefs = graphQLschemas;

export default {
  ...genre
}

我的查询是:src/queries/genre.ts

import gql from "graphql-tag";

export const GET_ALL_GENRES = gql`
  query allGenres {
    allGenres {
      id
      name
    }
  }
`;

我通过api src/api/genre.ts

嘲笑了它
import graphQL from "@/api/index";
import { GET_ALL_GENRES } from "@/queries/genre";

const getAllGenres = () => {
  return graphQL.query({
    query: GET_ALL_GENRES,variables: {}
  })
};

export default {
  getAllGenres
}

我不知道为什么我的查询总是为allGenres返回null。 你能告诉我出什么问题了吗?非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...