首页 > 解决方案 > 错误:响应不成功:收到状态码 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 游乐场,但在分离后我收到以下错误。

在此处输入图像描述

标签: graphqlapollo-server

解决方案


我更换了线路const schema = require('./schema');import schema from './schema';解决我的问题。即使我使用的是 node V8.10,我也使用了 babel 编译器来使用 node 的现代语法。旧语法是问题所在。


推荐阅读