#javascript #typescript #express #graphql #apollo-server
Вопрос:
Я следовал этому учебнику по полному стеку Бена Авада, и когда он добавил распознаватель в схему, все прошло хорошо, но когда я попробовал тот же код, я получил ошибку выше. Я использую graphql 15.5.1 и тип-graphql 1.1.1 с версией apollo-server-express 2.25.2. Мой код выглядит следующим образом:
import {Query, Resolver} from "type-graphql";
@Resolver()
export class HelloResolver {
@Query(() => Number)
hello() {
return 5;
}
}
import { ApolloServer } from "apollo-server-express";
import { buildSchema } from "graphql";
import {HelloResolver} from "./resolvers/hello";
const express = require('express');
const PORT : number = Number(process.env.PORT) || 3000;
const main = async () => {
const apollo = new ApolloServer({
schema: await buildSchema({
// ERROR DUE TO LINE BELOW
resolvers: [HelloResolver],
validate: false,
}),
});
apollo.applyMiddleware({ app });
app.listen(PORT, () => {
console.log(`Listening on port ${PORT}...`);
});
}
main().catch((e) => {
console.error(e);
});
Ответ №1:
import { buildSchema } from "graphql";
должно быть
import { buildSchema } from "type-graphql";
Вы можете увидеть это в том же коде, что и в описании видео.