阿波罗和盖茨比有啥区别? [关闭]
Posted
技术标签:
【中文标题】阿波罗和盖茨比有啥区别? [关闭]【英文标题】:What's the difference between Apollo and Gatsby? [closed]阿波罗和盖茨比有什么区别? [关闭] 【发布时间】:2020-11-21 18:17:03 【问题描述】:我试图了解它们的区别。
据我了解,Apollo 是 GraphQL 的一种实现,而 Gatsby 是一个使用 Apollo 构建服务器端渲染应用程序的框架。这种解释正确吗?
不胜感激!
【问题讨论】:
【参考方案1】:Apollo (apollo-client
) 是一个高度可定制的带有规范化缓存的 graphql 客户端。
Gatsby 是一个基于 node.js 的静态内容生成器。结果具有一种 [服务器端渲染] 反应应用程序,可以从任何支持静态内容(静态 html、js、图像)的(廉价)服务器“运行”——即使没有任何动态内容支持(例如 php)。页面被预呈现为 html(有利于 SEO),并且它们之间的转换被优化(预加载)。
Gatsby 和 graphql - 它在 redux 中管理内部内容,但提供由自己/内部客户端/lib 使用的 graphql api 数据源(在页面/模板中)以创建静态 [快速] 页面。这是仅编译时“服务器+客户端”。事实上不是服务器也不是客户端(不是apollo),更像是一组使用graphql查询格式描述模板数据需求、数据处理等的助手(可定制的编译系统)。
您可以在 gatsby 页面模板中使用apollo-client
[react] 组件/钩子来运行时数据获取 [从静态/生成的页面]。您可以在 gatsby 的 node.js 编译环境中使用它来获取数据(而不是源插件)。
【讨论】:
以上是关于阿波罗和盖茨比有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章