Prisma. Javascript to Typescript



我正在使用带有Javascript的Prisma。它运行良好。升级到typescript后,我出现以下错误:GraphQLError: Syntax Error: Cannot parse the unexpected character ".".

// index.ts
const path = require('path')
const express = require('express')
const { importSchema } = require('graphql-import')
const { ApolloServer } = require('apollo-server-express')
const { Prisma } = require('prisma-binding')
const { makeExecutableSchema } = require('graphql-tools')
import resolvers from './resolvers'

const { directiveResolvers } = require('./directives')

const schema = makeExecutableSchema({
typeDefs: './schema.graphql',
resolvers,
directiveResolvers
})
const server = new ApolloServer({
debug: true,
schema,
formatError: error => error,
context: req => ({
...req,
db: new Prisma({
typeDefs: path.join(__dirname, './generated-schema.graphql'),
endpoint: 'http://localhost:4466/nacho/prod'
})
})
})
const app = express()
const port = 9000
app.listen({ port }, () => console.log(`🚀 Server ready at http://localhost:4000${server.graphqlPath}`))
// tsconfig.json
{
"compilerOptions": {
"target": "es5",
"moduleResolution": "node",
"module": "commonjs",
"sourceMap": true,
"allowJs": true,
"rootDir": "src",
"outDir": "dist",
"lib": ["es2016", "esnext.asynciterable"]
},
"exclude": ["test", "dist"],
"include": ["src/**/*"]
}

然后我运行tsc,它工作,然后运行node dist/index_server.js,我有这个错误:


/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/lexer.js:270
throw (0, _syntaxError.syntaxError)(source, pos, unexpectedCharacterMessage(code));
^
GraphQLError: Syntax Error: Cannot parse the unexpected character ".".
at syntaxError (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/error/syntaxError.js:15:10)
at readToken (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/lexer.js:270:38)
at Object.lookahead (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/lexer.js:54:43)
at Object.advanceLexer [as advance] (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/lexer.js:44:33)
at Parser.expectToken (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/parser.js:1399:19)
at Parser.many (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/parser.js:1514:10)
at Parser.parseDocument (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/parser.js:111:25)
at Object.parse (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql/language/parser.js:36:17)
at Object.buildSchemaFromTypeDefinitions (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql-tools/dist/generate/buildSchemaFromTypeDefinitions.js:19:33)
at makeExecutableSchema (/Users/alan/Documents/app/nacho/prismaTs/node_modules/graphql-tools/dist/makeExecutableSchema.js:26:29)
at Object.<anonymous> (/Users/alan/Documents/app/nacho/prismaTs/dist/index_server.js:29:14)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

检查'./schema.graphql'是否存在语法错误?

无论您使用什么IDE,都应该有一个用于读取graphql模式的插件,并且应该突出显示语法错误。

最新更新