Проблемы маршрутизации с NGINX и NodeJS + ApolloServer 2.0 - PullRequest
0 голосов
/ 20 февраля 2019

Мой проект включает более одного приложения Node, прослушивающего разные порты, работающие из разных подкаталогов:

/
|
|
+-----default (app for schandillia.com)
|
|
+-----graph
        |
        |
        +-----blog (app for graph.schandillia.com/blog)
        |
        |
        +-----abc (app for graph.schandillia.com/abc)

В настоящее время у меня есть server.js для каждого приложения в его корневой папке (например, /graph/blog/server.jsдля приложения graph.schandillia.com / blog )

Файл /graph/blog/server.js работает на Apollo Server 2.0 для GraphQL и использует Express в качестве промежуточного программного обеспечения.Вот определение маршрута в этом промежуточном программном обеспечении:

// GraphQL: Schema
const server = new ApolloServer({
  typeDefs,
  resolvers,
  playground: {
    endpoint: `/blog`, /* populates the playground endpoint box below the tab-strip. */
    settings: require('./playground.json')
  }
});

// Express: Initialize
const app = express();
// Middleware: GraphQL route
server.applyMiddleware({
  app,
  path: '/'
});

Как вы можете видеть, поле path установлено на / (доступно здесь как https://graph.schandillia.com/blog).Тем не менее, я хочу, чтобы он указывал на /test slug: https://graph.schandillia.com/blog/test.Но установка path на /test возвращает ошибку (Cannot GET /blog/test).

Есть предложения?

...