为什么我的Gatsby.js构建的每个帖子都会生成重复的数据?

问题描述 投票:0回答:1

我的gatsby.js网站是基于egghead.io使用的repo。gatsby-starter-egghead-blog

当我运行一个 gatsby build 命令,我得到以下的文件结构(我省略了404和索引文件夹

enter image description here

对于我的 "content "文件夹中的每篇博客文章,我都会生成2个文件夹,每个文件夹的名称都与博客文章相同。 在 "public "下的文件夹包含一个html文件,而在 "page-data "下的文件夹包含一个json文件,其内容与html文件中的内容完全相同,但不包含任何CSS样式。

为什么这些json文件会存在,而我已经有了静态html文件? 本质上,我得到的是重复的数据。

javascript gatsby
1个回答
0
投票

我想我刚刚找到了答案。

Gatsby.js遵循的是 PRPL 模式。

您访问任何Gatsby网站的第一个页面都会加载一个静态HTML页面。 任何后续的页面访问都表现得更像一个SPA。 如果您在浏览Gatsby网站时观察Chrome浏览器中的网络选项卡,您就可以看到这一点。 首先加载HTML页面,之后,当你浏览网站时,页面会从page-data.json文件中加载。

Gatsby对这种模式的实现有更详细的描述 此处.

这就解释了为什么每个页面的数据在Gatsby网站中存在两次--第一次加载时作为渲染的静态HTML,以及动态加载的原始JSON数据。

© www.soinside.com 2019 - 2024. All rights reserved.