使用apollo-server-express时出现TypeError: graphql_1.isDefinitionNode不是函数
问题:Apollo Server Express 启动时报错
TypeError: (0, graphql_1.isDefinitionNode) is not a function 问题详情
- 跟着《Pro MERN Stack 第2版》编写代码,在GitCMD中触发错误:
TypeError: (0, graphql_1.isDefinitionNode) is not a function - 纯Express基础代码能正常运行,但加入Apollo Server相关逻辑后就出现该错误
- 试过StackOverflow上的常规解决方案,因为用的是
apollo-server-express所以没解决;也尝试过安装apollo-server-express(3.11.1)和`graphql`(0.13.2)的新旧版本,问题仍存在
报错的完整代码
const express = require('express'); const { ApolloServer } = require('apollo-server-express'); let aboutMessage = "Issue Tracker API v1.0"; const typeDefs = ` type Query { about: String! } type Mutation { setAboutMessage(message: String!): String } `; const resolvers = { Query: { about: ()=> aboutMessage, }, Mutation: { setAboutMessage, }, }; function setAboutMessage(_, { message }) { return aboutMessage = message; } const server = new ApolloServer({ typeDefs, resolvers }); const app = express(); app.use(express.static('public')); server.applyMiddleware({ app, path: '/graphql' }); app.listen(3000, function () { console.log('App started on port 3000'); });
可正常运行的基础Express代码
const express = require('express'); const app = express(); app.use(express.static('public')); app.listen(3000, function () { console.log('App started on port 3000'); });
内容的提问来源于stack exchange,提问作者hectorJDH
相关产品推荐
相关产品推荐

