2017-10-11 56 views
2

我正在學習蓋茨比是如何工作並獲得一個有2頁的網站,兩個頁面之間都有超鏈接。澄清蓋茨比頁面加載網絡請求

由於gatsby編譯一個網站到javascript包的靜態頁面,我希望html鏈接點擊事件觸發頁面請求到服務器加載second頁面。但是,我沒有看到這樣的要求。該網站的行爲與從first頁面加載的單頁應用程序相似。鏈接點擊不會導致second頁面的網絡頁面請求。同時,我可以看到服務器正確響應了對second頁面的請求。在這種情況下,second頁面已加載,並且通過鏈接點擊導航到first頁面也不會導致HTTP請求。

  • 它是由設計嗎?你能否澄清在編譯的網站中究竟發生了什麼?

  • 如果這樣的單頁面行爲是通過設計的,我不知道它會對搜索引擎爬蟲有多大的負面影響?我認爲單頁面應用程序對谷歌機器人等的索引不太好。

  • 另外,如果我的頁面很大(假設從減價書或類似的東西中呈現)會怎樣?我希望單頁應用程序不會一次加載所有內容。在這種情況下,蓋茨比應用了什麼魔法?

回答

3

是的蓋茨比是單頁網站,是的它也是一個多頁面的網站。蓋茨比預先將單個頁面呈現爲html文件,並將相應的反應代碼編譯成捆綁包。

冷啓動時,任何給定的頁面像任何其他靜態頁面加載到瀏覽器,快速和搜索引擎優化友好。加載靜態頁面後,反應代碼將自舉並有效地運行顯示('la'單頁應用程序樣式)。很聰明吧?但是,只需要從服務器獲取js捆綁包(有時也可以預取速度)。

蓋茨比真的不過是一個聰明的服務器呈現HTML反應應用程序,理解內容類型。