@Richswitch
junior

Можно ли заставить сервер express.js и express-graphql использовать один общий порт :3000?

Привет!
Возможно ли использовать express.js и express-graphql на одном порту?
Должно выглядеть так:
  • express.js -> http: //localhost:3000 (корень)
  • graphql -> http: //localhost:3000/graphql

Если я пытаюсь задать graphql порт 3000, то, естественно, получаю ошибку о том что порт занят.

В доках приведен пример с портом 4000, который как бы намекает на то, что по дефолту graphql запускается с другим портом.

Возможно это можно реализовать через express.Router(); ?
  • Вопрос задан
  • 282 просмотра
Пригласить эксперта
Ответы на вопрос 3
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
express-graphql - это не отдельный сервер, а просто middleware к вашему серверу, которое запускается по /graphql
Ответ написан
@iShatokhin
JS developer
Немного не ясен вопрос, т.к. ни express.js, ни express-graphql сами порты не используют, т.к. это middleware фреймворки. Порт использует http сервер, вот к нему обоих и привязывайте. Метод listen лишь алиас к модулю http.

const http = require('http'),
    express = require('express'),
    graphql = require('express-graphql'),
    app = express();

app.use('/graphql', graphql({
 /* some setting */
}));

http.createServer(app).listen(3000);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы