我正在学习Gatsby如何运作,并且有一个2页的网站,两者都有相互之间的超链接。
由于gatsby将网站编译为带有javascript包的静态页面,我希望html链接点击事件能够触发向服务器加载second
页面的页面请求。但是,我没有看到这样的要求。该网站的行为类似于从first
页面加载的单页面应用程序。链接点击不会导致second
页面的网页请求。同时,我可以看到服务器正确响应了对second
页面的请求。在这种情况下,会加载second
页面,并通过链接点击导航到first
页面也不会导致HTTP请求。
是否按设计?您能否澄清一下编译网站上究竟发生了什么?
如果这样的单页行为是设计的,我想知道它对搜索引擎抓取工具有多大的负面影响?我认为单页应用程序不适合谷歌机器人等索引。
另外,如果我的网页很大(让我们说从降价书或类似文件中呈现)会怎么样?我希望单页应用程序不是一次性加载所有内容的最佳选择。盖茨比在这种情况下应用了什么魔力?
答案 0 :(得分:3)
是Gatsby是单页网站,是的,它也是一个多页网站。 Gatsby预先将单个页面呈现为html文件,并将相应的反应代码编译成捆绑包。
在冷启动时,任何给定页面都会像任何其他静态页面一样加载到浏览器中,快速且SEO友好。加载静态页面后,反应代码将被引导并有效地运行节目(' a'单页应用程序样式)。相当聪明啊?但是,只需要从服务器获取所需的js包(有时也会预先获取速度)。
盖茨比真的只不过是一个聪明的服务器渲染的HTML反应应用程序,了解内容类型。