阿波罗和盖茨比有什么区别?

时间:2020-07-31 22:03:04

标签: graphql gatsby apollo react-apollo

我正试图了解它们之间的差异。

根据我的理解,Apollo是GraphQL的实现,而Gatsby是使用Apollo来构建服务器端渲染的应用程序的框架。这种解释正确吗?

不胜感激!

1 个答案:

答案 0 :(得分:2)

Apollo apollo-client)是具有标准化缓存的高度可定制的graphql客户端。

Gatsby 是基于node.js的静态内容生成器。具有一种[severside渲染] react app的Resul可以从任何支持静态内容(静态html,js,图像)的(廉价)服务器“运行”,甚至无需任何动态内容支持(例如php)。将页面预呈现为html(适用于SEO),并优化了它们之间的过渡(预加载)。

Gatsby和graphql -它在redux中管理内部内容,但提供由自己/内部客户端/ lib使用的graphql api数据源(在页面/模板中)以创建静态[快速]页面。这是仅编译时间“服务器+客户端”。实际上不是服务器,而不是客户端(不是阿波罗),更像是一组使用graphql查询格式描述模板数据需求,数据处理等的助手(可定制的编译系统)。

您可以在gatsby页面模板中使用apollo-client [反应]组件/挂钩来[从静态/生成的页面]进行运行时数据提取。您可以在gatsby的node.js编译环境中使用它进行数据获取(而不是源插件)。