我想要做的是将我的架构与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游乐场 但分离后,我收到以下错误。
答案 0 :(得分:0)
我将行const schema = require('./schema');
替换为import schema from './schema';
解决了我的问题。
即使我正在使用节点V8.10,我也使用babel编译器对节点使用现代语法。问题是旧语法。