У меня есть текущий файл index.js, который работает нормально ... но для использования в моей стратегии тестирования я хочу разделить его на 2 файла: server.js
и app.js
Яполучаю сообщение об ошибке, утверждающее, что мой app.js
не является функцией .. что не так с моим кодированием?
index.js
import express from 'express';
import express_graphql from 'express-graphql';
import { buildSchema } from 'graphql';
// Construct a schema, using GraphQL schema language
const schema = buildSchema(`
type Query {
message: String
}
`);
// Root resolver
const root = {
message: () => 'Hello World!'
};
// Create an express server and a GraphQL endpoint
const app = express();
app.use('/graphql', express_graphql({
schema: schema,
rootValue: root,
graphiql: true
}));
/* eslint-disable no-console */
app.listen(4000, () => console.log('Express GraphQL Server Now running On localhost:4000/graphql'));
РАЗДЕЛЕНО В:
server.js
import app from './app';
/* eslint-disable no-console */
app.listen(4000, () => {
console.log('Express GraphQL Server Now running On localhost:4000/graphql');
});
app.js
import express_graphql from 'express-graphql';
import { buildSchema } from 'graphql';
import express from 'express';
export default function () {
// Construct a schema, using GraphQL schema language
const schema = buildSchema(`
type Query {
message: String
}
`);
// Root resolver
const root = {
message: () => 'Hello World!'
};
// Create an express server and a GraphQL endpoint
const app = express();
app.use('/graphql', express_graphql({
schema: schema,
rootValue: root,
graphiql: true
}));
}
console.log
yarn start
yarn run v1.9.4
$ babel-node src/server.js
/Users/yves/Developments/WIP/NODE/nodeGraphQL/src/server.js:10
_app2.default.listen(4000, () => {
^
TypeError: _app2.default.listen is not a function
at Object.<anonymous> (/Users/yves/Developments/WIP/NODE/nodeGraphQL/src/server.js:4:5)
at Module._compile (module.js:653:30)
at loader (/Users/yves/Developments/WIP/NODE/nodeGraphQL/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/yves/Developments/WIP/NODE/nodeGraphQL/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at Object.<anonymous> (/Users/yves/Developments/WIP/NODE/nodeGraphQL/node_modules/babel-cli/lib/_babel-node.js:154:22)
at Module._compile (module.js:653:30)
error Command failed with exit code 1.
спасибо за отзыв