一、Gatsby 是什么?
可建立一个访问速度极快的静态网站。
- 轻松发布:只需执行
gatsby build
命令,所有网站数据都被打包到 public 文件夹中,拷贝此文件夹到 nginx 即可完成网站发布。 - 不中断:网站更新也只是文件覆盖操作,不会因更新而中断服务。
- 速度快:网站所需数据在编译期就获取、压缩、优化完成,无需在打开网页时再花费时间从第三方获取数据,所以网站的访问速度非常快。
- 完善的插件库生态:2500多个插件可免费使用,极大缩短网站开发周期。
使用场景
- 如果你有一堆用 Markdown 编辑的文章,想要发布到网上,又不想浪费时间在编辑排版上,那么用 Gatsby 生成一个博客网站,是一个非常不错的解决方案。
二、Gatsby 简介
1、图解系统结构
-
数据统一:从 不同数据源(下图中 CMS、Private API 等) 获取数据,形成统一的数据结构( GraphQL Data Layer)
-
数据查询:通过 GraphQL 查询 GraphQL Data Layer 中的数据
-
展示数据:通过React 编写HTML页面,把数据展示出来。当然也可以找一个UI库,让页面更美观。