问题描述
我正在使用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 (将#修改为@)