在生产中公开暴露gatsby graphql端点

时间:2020-02-22 13:31:23

标签: graphql gatsby

我有一个gatsby博客,我通过放大将其推送到aws。

在本地,我可以通过对http://localhost:8000/__graphql端点运行如下查询来查询我的gatsby网站:

curl 'http://localhost:8000/__graphql?' -H 'Connection: keep-alive' -H 'Accept: application/json' -H 'Sec-Fetch-Dest: empty' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36' -H 'Content-Type: application/json' http://localhost:8000/' --data-binary '{"query":"query MyQuery {\n  site(children: {elemMatch: {}}) {\n    id\n  }\n  allDirectory {\n    edges {\n      node {\n        id\n      }\n    }\n  }\n  allFile {\n    edges {\n      node {\n        id\n      }\n    }\n  }\n  allSitePage {\n    pageInfo {\n      currentPage\n      itemCount\n    }\n  }\n}\n","variables":null,"operationName":"MyQuery"}' --compressed

如何在生产中公开__graphql端点?

1 个答案:

答案 0 :(得分:1)

偶然发现您的问题,我认为答案是可以的,但是如果您这样做,答案是肯定的。

问题是gatsbys内部graphql api正在与本地文件系统一起使用,并且由于gatsby是一种无服务器技术,因此将其用作api确实有点奇怪。

但是在这个问题中,我发现您正在寻找的东西是可能的,但主要不是gatsby的发展方向。 https://github.com/gatsbyjs/gatsby/issues/21616

希望它可以帮助或回答您的问题。