【问题标题】:Clarification on Gatsby page load network request关于 Gatsby 页面加载网络请求的说明
【发布时间】:2017-10-11 05:59:33
【问题描述】:

我正在学习 Gatsby 的工作原理,并且有一个有 2 个页面的网站,两个页面之间都有超链接。

由于 gatsby 使用 javascript 包将网站编译为静态页面,我希望 html 链接单击事件触发对服务器的页面请求以加载 second 页面。但是,我没有看到这样的要求。该网站的行为类似于从first 页面加载的单页应用程序。链接点击不会导致second 页面的网络页面请求。同时,我可以看到服务器正确响应了对second 页面的请求。在这种情况下,second 页面已加载,通过链接单击导航到 first 页面也不会引起 HTTP 请求。

  • 这是设计使然吗?您能否澄清编译后的网站中实际发生的情况?

  • 如果这种单页行为是设计使然,我想知道它对搜索引擎爬虫的负面影响有多大?我认为单页应用程序不太适合 google bot 等进行索引。

  • 另外,如果我的页面很大(比如从降价书籍或类似书籍中呈现)怎么办?我希望单页应用程序不会非常适合一次加载所有内容。在这种情况下,盖茨比施了什么魔法?

【问题讨论】:

    标签: gatsby


    【解决方案1】:

    是的,盖茨比是单页网站,是的,它也是一个多页网站。 Gatsby 将单个页面预渲染为 html 文件,并将相应的 react 代码编译成 bundle。

    在冷启动时,任何给定的页面都会像任何其他静态页面一样加载到浏览器中,速度快且对 SEO 友好。加载静态页面后,将引导反应代码并有效地运行节目('a la' 单页应用程序样式)。很聪明吧?但是,只有需要的 js 包会从服务器获取(有时为了速度也会预先获取)。

    Gatsby 实际上只不过是一个聪明的服务器渲染 html react 应用程序,它可以理解内容类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 2020-07-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多