桌面上的Apollo Fine的GraphiQL,笔记本电脑上的404?

时间:2016-09-01 19:34:56

标签: meteor graphql

我在http://localhost:8080/graphql的台式机Mac上运行了GraphIQL。

在我的笔记本电脑Mac上,使用通过Github同步的完全相同的代码,我在控制台中显示:

  

GraphQL Server现在正在http://localhost:8080/graphql

上运行

...这似乎表明graphql已连接。但访问 http://localhost:8080/graphql会出现404错误:

  

未找到

     

在此服务器上找不到请求的URL / graphql

我甚至删除了我的node_modules文件夹,并通过meteor npm install从头开始重新安装。

这对任何人都有意义吗?

这里是设置Apollo和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`
));

2 个答案:

答案 0 :(得分:1)

所以,这可能是因为你的笔记本电脑上还有其他东西在8080上运行。也许尝试将未捕获的快速错误记录到控制台?

另一种可能性是您没有在桌面上尝试完全相同的网址。 apolloServer的0.2版目前只允许POST请求。当您导航到浏览器中的地址时,它将尝试发送GET请求,这将产生404.尝试在单独的路径上启动graphiql并查看是否可以访问它。

PS:如果你有机会,你应该在你复制粘贴代码片段的repo上做一个PR,这样其他人就不会遇到同样的问题; - )

答案 1 :(得分:0)

我使用npm remove apollo-servernpm install apollo-server --save来更新apollo-server npm模块,并对apollo-client执行相同操作。然后我更新到http://docs.apollostack.com/apollo-server/migration.html找到的apollo服务器0.2.x代码。我还更新了Meteor 1.4.x.现在404错误消失了。