You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:45:34