我在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`
));
答案 0 :(得分:1)
所以,这可能是因为你的笔记本电脑上还有其他东西在8080上运行。也许尝试将未捕获的快速错误记录到控制台?
另一种可能性是您没有在桌面上尝试完全相同的网址。 apolloServer的0.2版目前只允许POST请求。当您导航到浏览器中的地址时,它将尝试发送GET请求,这将产生404.尝试在单独的路径上启动graphiql并查看是否可以访问它。
PS:如果你有机会,你应该在你复制粘贴代码片段的repo上做一个PR,这样其他人就不会遇到同样的问题; - )
答案 1 :(得分:0)
我使用npm remove apollo-server
和npm 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错误消失了。