什麼是 spa
單頁面應用:
為啥要寫 spa ?
簡單來說,為了追求更高一層的使用者體驗。spa 應用的特點是一次性的把頁面顯示邏輯都載入到了本地瀏覽器中,以後每次請求,伺服器那邊都是提供新的資料,而不再向以往一樣傳送 html 。所以,每次點乙個鏈結,頁面上能看到的是顯示載入資料的轉來轉去小圈圈,而不是頁面整個重新整理。
實現spa的全部技術:
一是處理#後面的字元,
二是區域性重新整理。
一:
從上圖我們可以得知,#後面的字元,其實是location物件的hash屬性的值,即是說,我們可以輕鬆拿到這個#後面字元的變化值,
var hash = location.hash;
二:通過hashchange事件,我們可以監視#後面字元,一旦發生改變,就會觸發此事件,也是大家常說的url 的錨部分。
**如下:
張三 李四
王五
優點:1、分離前後端關注點,前端負責介面顯示,後端負責資料儲存和計算,各司其職,不會把前後端的邏輯混雜在一起;
2、減輕伺服器壓力,伺服器只用出資料就可以,不用管展示邏輯和頁面合成,吞吐能力會提高幾倍;
3、同一套後端程式**,不用修改就可以用於web介面、手機、平板等多種客戶端;
缺點:1、seo問題,現在可以通過prerender等技術解決一部分;
2、前進、後退、位址列等,需要程式進行管理;
3、書籤,需要程式來提供支援;
有興趣的同學可以看看這篇文章:前端路由的實現方式
(前端小白,如有錯誤,歡迎指正~~)
單頁面應用 與 多頁面應用
單頁面應用結構檢視如下 多頁面應用結構檢視如下 具體對比分析 單頁面應用 多頁面應用 組成乙個外殼頁面和多個頁面片段組成 多個完整頁面構成 資源 css,js 共用,只需在外殼部分載入 不共用,每個頁面都需要載入 重新整理方式 頁面區域性重新整理或更改 整頁重新整理 url格式 使用者體驗 頁面片段...
多頁面應用和單頁面應用
每次頁面跳轉,後端都會返回乙個新的html檔案。優點 首屏時間快,seo效果好 缺點 頁面切換慢 後端路由切換頁面 每次跳轉頁面都要發乙個http請求。只在首次載入時請求乙個html檔案,頁面切換的路由由前端完成,使用js動態地刪除和渲染頁面。優點 頁面切換快 由前端路由切換頁面 缺點 首屏時間稍慢...
多頁面應用 VS 單頁面應用
每一次頁面跳轉,後端都會返回乙個新的html檔案,優點 首屏時間快 只經歷了乙個http請求 seo效果好 缺點 頁面切換慢 進行頁面之間跳轉時,並不去載入html檔案,而是通過js動態地把當前的內容刪除掉,再去把新的頁面結構上的dom元素渲染出來。當頁面做跳轉時,不需要做html檔案的請求,節約了...