SPA( single-page application )僅在 Web 頁(yè)面初始化時(shí)加載相應(yīng)的 HTML、JavaScript 和 CSS梧宫。一旦頁(yè)面加載完成接谨,SPA 不會(huì)因?yàn)橛脩舻牟僮鞫M(jìn)行頁(yè)面的重新加載或跳轉(zhuǎn);取而代之的是利用路由機(jī)制實(shí)現(xiàn) HTML 內(nèi)容的變換塘匣,UI 與用戶的交互扫夜,避免頁(yè)面的重新加載。
優(yōu)點(diǎn):
用戶體驗(yàn)好颗味、快,內(nèi)容的改變不需要重新加載整個(gè)頁(yè)面例驹,避免了不必要的跳轉(zhuǎn)和重復(fù)渲染;
基于上面一點(diǎn)荤胁,SPA 相對(duì)對(duì)服務(wù)器壓力小;
前后端職責(zé)分離辫封,架構(gòu)清晰廉丽,前端進(jìn)行交互邏輯正压,后端負(fù)責(zé)數(shù)據(jù)處理拓劝;
缺點(diǎn):
初次加載耗時(shí)多:為實(shí)現(xiàn)單頁(yè) Web 應(yīng)用功能及顯示效果,需要在加載頁(yè)面的時(shí)候?qū)?JavaScript、CSS 統(tǒng)一加載,部分頁(yè)面按需加載获枝;
前進(jìn)后退路由管理:由于單頁(yè)應(yīng)用在一個(gè)頁(yè)面中顯示所有的內(nèi)容蠢正,所以不能使用瀏覽器的前進(jìn)后退功能,所有的頁(yè)面切換需要自己建立堆棧管理省店;
SEO 難度較大:由于所有的內(nèi)容都在一個(gè)頁(yè)面中動(dòng)態(tài)替換顯示嚣崭,所以在 SEO 上其有著天然的弱勢(shì)。