Я бегал кругами с этой проблемой, я пытаюсь настроить серверную часть koa для машинописного текста с graphql, но продолжаю получать эту ошибку.
[nodemon] starting `ts-node --inspect -r tsconfig-paths/register ./src/server.ts`
/home/wouter/dev/project/node_modules/ts-node/src/index.ts:261
return new TSError(diagnosticText, diagnosticCodes)
^
TSError: ⨯ Unable to compile TypeScript:
src/routes.ts(4,10): error TS2305: Module '"/home/wouter/dev/project/node_modules/apollo-server-koa/dist/index"' has no exported member 'graphqlKoa'.
src/routes.ts(4,22): error TS2305: Module '"/home/wouter/dev/project/node_modules/apollo-server-koa/dist/index"' has no exported member 'graphiqlKoa'.
src/routes.ts(6,24): error TS2307: Cannot find module 'graphql/schema'.
at createTSError (/home/wouter/dev/project/node_modules/ts-node/src/index.ts:261:12)
at getOutput (/home/wouter/dev/project/node_modules/ts-node/src/index.ts:367:40)
at Object.compile (/home/wouter/dev/project/node_modules/ts-node/src/index.ts:558:11)
at Module.m._compile (/home/wouter/dev/project/node_modules/ts-node/src/index.ts:439:43)
at Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Object.require.extensions.(anonymous function) [as .ts] (/home/wouter/dev/project/node_modules/ts-node/src/index.ts:442:12)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Module.require (internal/modules/cjs/loader.js:598:17)
[nodemon] app crashed - waiting for file changes before starting...
Это файл rout.ts
import Router from 'koa-router';
import koaBody from 'koa-bodyparser';
import { graphqlKoa, graphiqlKoa } from 'apollo-server-koa';
import { schema } from 'graphql/schema';
export const routes = new Router();
// API entrypoint
const apiEntrypointPath = '/graphql';
const graphQlOpts = graphqlKoa({
schema,
});
routes.get(apiEntrypointPath, graphQlOpts);
routes.post(apiEntrypointPath, koaBody(), graphQlOpts);
// GraphiQL entrypoint
routes.get('/graphiql', graphiqlKoa({ endpointURL: apiEntrypointPath }));
и это мой tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"target": "es6",
"strict": false,
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": false,
"emitDecoratorMetadata": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"sourceMap": true,
"baseUrl": "./src"
},
"exclude": [
"node_modules",
"client",
"**/*.spec.ts"
]
}
Самая большая информация, которую я могу найти, - это то, что мне нужно изменить "esModuleInterop" на true, но это не помогает.Я также попытался добавить skipLibCheck, но все равно не повезло.Насколько я знаю, у меня установлены правильные наборы, поэтому мне интересно, что происходит?