0

当使用带有以下 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)
4

0 回答 0