我正在学习 Gatsby 的工作原理,并且有一个有 2 个页面的网站,两个页面都有彼此的超链接。
由于 gatsby 使用 javascript 捆绑包将网站编译为静态页面,因此我希望 html 链接单击事件触发对服务器的页面请求以加载second
页。但是,我没有看到这样的要求。该网站的行为就像从加载的单页应用程序first
页。链接点击不会引起网页请求second
页。同时,我可以看到服务器响应了请求second
页面正确。在这种情况下second
页面已加载并导航至first
通过链接点击的页面也不会引起 HTTP 请求。
是设计使然吗?您能否澄清一下编译后的网站中实际发生了什么?
如果这种单页行为是有意设计的,我想知道它会对搜索引擎爬虫产生多大的负面影响?我认为单页应用程序不太适合通过谷歌机器人等进行索引。
另外,如果我的页面很大(假设是从 Markdown 书籍或类似书籍呈现的)怎么办?我预计单页应用程序对于一次加载所有内容并不是非常理想。盖茨比在这个案例中施展了什么魔法呢?
是的,盖茨比是单页网站,是的,它也是多页网站。 Gatsby 将各个页面预渲染为 html 文件,并将相应的 React 代码编译成包。
冷启动时,任何给定页面都会像任何其他静态页面一样加载到浏览器中,快速且 SEO 友好。加载静态页面后,反应代码将被引导并有效地运行该节目(“a la”单页应用程序风格)。很聪明吧?然而,只从服务器获取所需的 js 包(有时为了速度也会预获取)。
Gatsby 实际上只不过是一个聪明的服务器渲染的 html React 应用程序,可以理解内容类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)