当使用带有以下 schema.json 的 graphql-tools JsonFileLoader时:
{
"UserObjectType": {
"id": "Int",
"username": "String",
"firstName": "String",
"lastName": "String",
"avatar": "AvatarObjectType",
"dateCreated": "DateTime",
"notificationPreferences": "GenericScalar"
},
"AvatarObjectType": { "id": "Int", "avatarUrl": "String" },
"scalar": ["DateTime", "GenericScalar"],
"Query": {
"GetCurrentUser": "UserObjectType"
}
}
我收到以下错误:
Unable to find any GraphQL type definitions for the following pointers:
- UserObjectType
,
- AvatarObjectType
,
- scalar
,
- Query
at prepareResult (dist/load/src/load-typedefs.js:70:15)
at loadTypedefs (dist/load/src/load-typedefs.js:35:12)
这是我的代码:
const JSONSchema = await loadSchema(schema, {
loaders: [new JsonFileLoader()],
});
const mocks = {
String: () => "abc",
Int: () => 56,
UserObjectType: () => ({
firstName: "John",
lastName: "Smith",
}),
};
// Create a new schema with mocks
const schemaWithMocks = addMocksToSchema({
schema: JSONSchema,
mocks,
});
复制 repo 在这里,更具体地说,我使用 JSONFileLoader 的测试在这里。
编辑:我使用@graphql-codegen/cli
's introspection 插件生成一个新的 JSON,你可以在这里找到它。
将其加载到我的测试中时,我收到类似的错误:
graphql-tools › Runs mocked Schema with JsonFileLoader
Unable to find any GraphQL type definitions for the following pointers:
- __schema
at prepareResult (dist/load/src/load-typedefs.js:70:15)
at loadTypedefs (dist/load/src/load-typedefs.js:35:12)