Apollo Server требует либо существующую схему, модули или typeDefs при развертывании GraphQL API в Digital Ocean

#node.js #typescript #apollo #apollo-server #graphql-js

#node.js #typescript #apollo #apollo-server #graphql-js

Вопрос:

Я изо всех сил пытаюсь развернуть свой Apollo Server GraphQL api в Digital Ocean.

Я получаю следующую ошибку во время развертывания:

 [2021-12-11 19:21:07]     at ApolloServer.constructSchema (/app/node_modules/apollo-server-core/src/ApolloServer.ts:629:13)
[2021-12-11 19:21:07]     at new ApolloServerBase (/app/node_modules/apollo-server-core/src/ApolloServer.ts:282:18)
[2021-12-11 19:21:07]     at new ApolloServer (/app/node_modules/apollo-server-express/src/ApolloServer.ts:55:1)
[2021-12-11 19:21:07]     at new ApolloServer (/app/node_modules/apollo-server/src/index.ts:42:5)
[2021-12-11 19:21:07]     at Object.<anonymous> (/app/index.js:8:14)
[2021-12-11 19:21:07]     at Module._compile (node:internal/modules/cjs/loader:1101:14)
[2021-12-11 19:21:07]     at Module._compile (/app/node_modules/source-map-support/source-map-support.js:568:25)
[2021-12-11 19:21:07]     at Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
[2021-12-11 19:21:07]     at Object.nodeDevHook [as .js] (/app/node_modules/ts-node-dev/lib/hook.js:63:13)
[2021-12-11 19:21:07]     at Module.load (node:internal/modules/cjs/loader:981:32)
[2021-12-11 19:21:07] [ERROR] 19:21:07 Error: Apollo Server requires either an existing schema, modules or typeDefs
 

Конкретный код, на который он ссылается, должен быть:

 // schema/index.ts
import { makeSchema } from "nexus";
import * as todos from "./todos";

export const schema = makeSchema({
  types: [todos],
});

//index.ts
import { ApolloServer } from "apollo-server";
import { PrismaClient } from "@prisma/client";
import { schema } from "./schema";

export const prisma = new PrismaClient();

const server = new ApolloServer({ schema });

server
  .listen(8080)
  .then(({ url }: { url: string }) =>
    console.log(`Server started successfully on ${url}`)
  );
 

API очень прост — в настоящее время он имеет только базовую функциональность CRUD (для задач). Код можно найти здесь:
https://github.com/NikolaiWaerpen/keller

Он работает безупречно локально, но, к сожалению, не при развертывании. Любая помощь и конструктивная критика приветствуются! 🙂