2016-09-01 2 views
2

У меня хорошо работает GraphIQL на моем рабочем столе Mac по адресу http://localhost:8080/graphql.GraphiQL для Apollo Fine на рабочем столе, 404 на ноутбуке?

И на моем ноутбуке Mac, используя один и тот же код, синхронизированные с помощью Github, я показываю это в консоли:

GraphQL Server is now running on http://localhost:8080/graphql

... который, как представляется, указывают, что graphql подключен. Но доступ к http://localhost:8080/graphql вызывает ошибку 404:

Not Found

The requested URL /graphql was not found on this server

Я даже удалил свою папку node_modules и переустановить с нуля через meteor npm install.

Это имеет смысл для кого-либо?

Вот код, который устанавливает Аполлон и graphiql:

//apollo 
import express from 'express'; 
import { apolloServer } from 'apollo-server'; 
import Schema from '/imports/api/schema'; 
import Mocks from '/imports/api/mocks'; 
import Resolvers from '/imports/api/resolvers'; 
import Connectors from '/imports/api/db-connectors'; 

const GRAPHQL_PORT = 8080; 

const graphQLServer = express(); 

graphQLServer.use('/graphql', apolloServer({ 
    graphiql: true, 
    schema: Schema, 
    resolvers: Resolvers, 
    connectors: Connectors, 
    mocks: Mocks, 
})); 

graphQLServer.listen(GRAPHQL_PORT,() => console.log(
    `GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}/graphql` 
)); 

ответ

1

Так, это может быть потому, что у вас есть что-то еще работает на 8080 на вашем ноутбуке. Может быть, попробуйте запустить пустые ошибки на консоли?

Другая возможность заключается в том, что вы не пытаетесь использовать точно такой же URL-адрес на рабочем столе. Версия 0.2 apolloServer в настоящее время разрешает только запросы POST. Когда вы перейдете к адресу в своем браузере, он попытается отправить запрос GET, что приведет к 404. Попробуйте развернуть график на отдельном маршруте и посмотреть, можете ли вы получить к нему доступ.

PS: Если вы получаете шанс, вы должны сделать PR в репо, где копия-вставили фрагмент кода, чтобы другие люди не будут работать в том же номере ;-)

+0

Я перезагрузил ноутбук, чтобы убить любые запущенные процессы, но я все еще получаю ошибку 404. Код сервера - из документов на странице http: // docs.apollostack.com/apollo-server/migration.html. Каков синтаксис для получения обратного вызова .listen? Похоже, что googling для 'graphQLServer.listen' не вытягивал примеры с обратным вызовом. Я добавлю это и посмотрю, что говорит ошибка. – VikR

+0

Я просто использовал 'npm ls' для сравнения установленных node_modules на двух машинах и нашел различия, хотя ноутбук использует файл package.json с рабочего стола. Это может объяснить ошибку. Мне нужно перестроить файл package.json, чтобы он соответствовал тому, что находится в папке node_modules на рабочем столе. – VikR

+0

Я только что перестроил файл package.json, используя 'https: // www.npmjs.com/package/npm-collect' на моем рабочем столе. Он был построен и успешно запущен, как и раньше, доступ к 'http: // localhost: 8080/graphql'. Затем я привел новый файл package.json в папку приложения для ноутбука через git и перестроил. 'http: // localhost: 8080/graphql' все еще показывает ошибку 404 на моем ноутбуке. Я еще не знаю, как отладить это. :) – VikR

0

я использовал npm remove apollo-server и npm install apollo-server --save, чтобы обновить модуль npm модуля apollo-server, и сделал то же самое для apollo-client. Затем я обновил код сервера apollo 0.2.x, найденный по адресу http://docs.apollostack.com/apollo-server/migration.html. Я также обновился до Meteor 1.4.x. Теперь ошибка 404 исчезла.

Смежные вопросы