NestJS 5 GraphQL Error Query, определенный в резольверах, но не в схеме - PullRequest
1 голос
/ 05 апреля 2019

Я получаю ошибку, аналогичную ошибке, описанной в Query.products определяется в резольверах, но не в схеме , а только когда я нажимаю на Heroku.Вот подробности:

// profile.graphql
type Profile {
  id: ID!
  version: String!
  // ...
}

type Query {
  profile(id: ID!): Profile
  profiles: [Profile]
}
// profiles.resolver.ts
import { Args, Query, Resolver } from '@nestjs/graphql'
import { Profile } from './profile.entity'

@Resolver('Profile')
export class ProfileResolver {
  @Query()
  public async profile(@Args('id') id: number) {
    return await Profile.findOne(id)
  }

  @Query()
  public async profiles() {
    return await Profile.find()
  }
}

Локально, я могу запустить yarn start:dev, и это прекрасно работает.Приложение запускается успешно, и я могу без проблем запросить у моей конечной точки GraphQL.

Когда я нажимаю это на Heroku, приложение никогда не запускается.

2019-04-03T15:42:38.102056+00:00 heroku[web.1]: Starting process with command `node dist/main.js`
2019-04-03T15:42:42.448420+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [NestFactory] Starting Nest application...
2019-04-03T15:42:42.499150+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] ConfigModule dependencies initialized +51ms
2019-04-03T15:42:42.499439+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] TypeormConfigModule dependencies initialized +0ms
2019-04-03T15:42:42.499805+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] TypeOrmModule dependencies initialized +0ms
2019-04-03T15:42:42.500251+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] ApiModule dependencies initialized +1ms
2019-04-03T15:42:42.500726+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] PassportModule dependencies initialized +0ms
2019-04-03T15:42:42.501201+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] DataModule dependencies initialized +1ms
2019-04-03T15:42:42.501651+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] GqlConfigModule dependencies initialized +0ms
2019-04-03T15:42:42.502039+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] EntitiesModule dependencies initialized +0ms
2019-04-03T15:42:42.502411+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] UsersModule dependencies initialized +0ms
2019-04-03T15:42:42.502819+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] HelpersModule dependencies initialized +0ms
2019-04-03T15:42:42.503246+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] ProfilesModule dependencies initialized +1ms
2019-04-03T15:42:42.503676+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] ResourceTypesModule dependencies initialized +0ms
2019-04-03T15:42:42.504107+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] SchemaMappingsModule dependencies initialized +1ms
2019-04-03T15:42:42.504580+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] SearchReplaceValuesModule dependencies initialized +0ms
2019-04-03T15:42:42.505006+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] XpathExpressionsModule dependencies initialized +0ms
2019-04-03T15:42:42.505581+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] JwtModule dependencies initialized +1ms
2019-04-03T15:42:42.550301+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] AppModule dependencies initialized +45ms
2019-04-03T15:42:42.553207+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] GraphQLModule dependencies initialized +3ms
2019-04-03T15:42:42.553861+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] AuthModule dependencies initialized +0ms
2019-04-03T15:42:42.674522+00:00 app[web.1]: query: SELECT * FROM "information_schema"."tables" WHERE "table_schema" = current_schema() AND "table_name" = 'migrations'
2019-04-03T15:42:42.690182+00:00 app[web.1]: query: SELECT * FROM "migrations" "migrations"
2019-04-03T15:42:42.693584+00:00 app[web.1]: No migrations are pending
2019-04-03T15:42:42.696083+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [InstanceLoader] TypeOrmCoreModule dependencies initialized +142ms
2019-04-03T15:42:42.734620+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RoutesResolver] AppController {/}: +35ms
2019-04-03T15:42:42.735243+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RouterExplorer] Mapped {/, GET} route +4ms
2019-04-03T15:42:42.735665+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RoutesResolver] AuthController {/auth}: +0ms
2019-04-03T15:42:42.737212+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RouterExplorer] Mapped {/register, POST} route +2ms
2019-04-03T15:42:42.739125+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RouterExplorer] Mapped {/login, POST} route +0ms
2019-04-03T15:42:42.739137+00:00 app[web.1]: [Nest] 4   - 4/3/2019, 3:42:42 PM   [RouterExplorer] Mapped {/refresh, POST} route +0ms
2019-04-03T15:42:42.849522+00:00 app[web.1]: (node:4) UnhandledPromiseRejectionWarning: Error: Query.profile defined in resolvers, but not in schema

Почему я получаюошибка в производстве, а не в разработке? Что происходит, из-за чего схема GraphQL не регистрирует мой profile запрос?

1 Ответ

2 голосов
/ 05 апреля 2019

Разница между local и prod поддается Typescript.Я обнаружил, что ни один из файлов .graphql не был скопирован Typescript, поэтому я использовал copyfiles для решения проблемы после создания папки dist.

...