error: Response not successful: Received status code 400" Graphql

error: Response not successful: Received status code 400" Graphql

我想做的是将我的架构与 index.js 文件分开。所以这是分离后的 index.js 文件和 schema.js 文件。

//schema.js

import { gql, makeExecutableSchema } from 'apollo-server-express';

const typeDefs = gql`
    type Query {
        hello : String
    }
`;

const resolvers = {
    Query:{
        hello: () => 'HelloWorld!'
    }
};

export default makeExecutableSchema({
    typeDefs,
    resolvers,
});

//index.js

import { ApolloServer } from 'apollo-server-express';
import express from 'express';

const schema = require('./schema');

const app = express();

const server = new ApolloServer({schema});
server.applyMiddleware({app});

app.listen(4000, ()=> {
    console.log(`app is working on port 4000 ${server.graphqlPath}`);
});

我仍然可以在 localhost:4000/graphql 上打开 graphql playground 但分离后我收到以下错误。

我将行 const schema = require('./schema'); 替换为 import schema from './schema'; 解决了我的问题。 即使我使用的是节点 V8.10,我也使用 babel 编译器将现代语法与节点一起使用。旧语法是问题所在。