單頁面應(yīng)用程序(英文名:Single Page Application)簡稱 SPA,顧 名思義,指的是一個 Web 網(wǎng)站中只有唯一的一個 HTML 頁面,所有的功能與交互都在這唯一的一個頁面內(nèi)完成。
單頁面應(yīng)用程序的特點:
單頁面應(yīng)用程序?qū)⑺械墓δ芫窒抻谝粋€web 頁面中,僅在該web 頁面初始化時加載相應(yīng)的資源(HTML、 JavaScript 和CSS)。
一旦頁面加載完成了,SPA 不會因為用戶的操作而進(jìn)行頁面的重新加載或跳轉(zhuǎn)。而是利用JavaScript 動態(tài)地變換
HTML 的內(nèi)容,從而實現(xiàn)頁面與用戶的交互。
單頁面應(yīng)用程序的優(yōu)點和缺點:
SPA 單頁面應(yīng)用程序最顯著的3 個優(yōu)點如下:
①良好的交互體驗
- 單頁應(yīng)用的內(nèi)容的改變不需要重新加載整個頁面
- 獲取數(shù)據(jù)也是通過Ajax 異步獲取
沒有頁面之間的跳轉(zhuǎn),不會出現(xiàn)“白屏現(xiàn)象”
②良好的前后端工作分離模式
- 后端專注于提供API 接口,更易實現(xiàn)API 接口的復(fù)用
- 前端專注于頁面的渲染,更利于前端工程化的發(fā)展
③減輕服務(wù)器的壓力
- 服務(wù)器只提供數(shù)據(jù),不負(fù)責(zé)頁面的合成與邏輯的處理,吞吐能力會提高幾倍
但是任何一種技術(shù)都有自己的局限性,對于SPA 單頁面應(yīng)用程序來說,主要的缺點有如下兩個:
①首屏加載慢
- 路由懶加載
- 代碼壓縮
- CDN 加速
- 網(wǎng)絡(luò)傳輸壓縮
②不利于SEO