什么是單頁應(yīng)用?引用百度百科: 
單頁面應(yīng)用的優(yōu)缺點: 優(yōu)點: 1、用戶操作體驗好,用戶不用刷新頁面,整個交互過程都是通過Ajax來操作。 2、適合前后端分離開發(fā),服務(wù)端提供http接口,前端請求http接口獲取數(shù)據(jù),使用JS進行客戶端渲染。 缺點: 1、首頁加載慢 單頁面應(yīng)用會將js、 css打包成一個文件,在加載頁面顯示的時候加載打包文件,如果打包文件較大或者網(wǎng)速慢則用戶體驗不好 2、SEO不友好 SEO(Search Engine Optimization)為搜索引擎優(yōu)化。它是一種利用搜索引擎的搜索規(guī)則來提高網(wǎng)站在搜索引擎排名的方法。目前各家搜索引擎對JS支持不好,所以使用單頁面應(yīng)用將大大減少搜索引擎對網(wǎng)站的收錄。 
image.png 為什么頁面切換快?頁面每次切換跳轉(zhuǎn)時,并不需要做html 文件的請求,這樣就節(jié)約了很多http 發(fā)送時延,我們在切換頁面的時候速度很快。 缺點:首屏時間慢,SEO差單頁應(yīng)用的首屏時間慢,首屏時需要請求一次html ,同時還要發(fā)送一次js 請求,兩次請求回來了,首屏才會展示出來。相對于多頁應(yīng)用,首屏時間慢。 SEO效果差,因為搜索引擎只認識html 里的內(nèi)容,不認識js 的內(nèi)容,而單頁應(yīng)用的內(nèi)容都是靠js 渲染生成出來的,搜索引擎不識別這部分內(nèi)容,也就不會給一個好的排名,會導(dǎo)致單頁應(yīng)用做出來的網(wǎng)頁在百度和谷歌上的排名差。 有這些缺點,為什么還要使用Vue呢?Vue 還提供了一些其它的技術(shù)來解決這些缺點,比如說服務(wù)器端渲染技術(shù)(我是SSR),通過這些技術(shù)可以完美解決這些缺點,解決完這些問題,實際上單頁面應(yīng)用對于前端來說是非常完美的頁面開發(fā)解決方案。
mm | 多頁應(yīng)用模式MPA | 單頁應(yīng)用模式SPA |
---|
應(yīng)用構(gòu)成 | 由多個完整頁面構(gòu)成 | 一個外殼頁面和多個頁面片段構(gòu)成 | 跳轉(zhuǎn)方式 | 頁面之間的跳轉(zhuǎn)是從一個頁面跳轉(zhuǎn)到另一個頁面 | 頁面片段之間的跳轉(zhuǎn)是把一個頁面片段刪除或隱藏,加載另一個頁面片段并顯示出來。這是片段之間的模擬跳轉(zhuǎn),并沒有開殼頁面 | 跳轉(zhuǎn)后公共資源是否重新加載 | 是 | 否 | URL模式 | http://xxx/page1.html 和 http://xxx/page2.html | http://xxx/shell.html#page1 和 http://xxx/shell.html#page2 | 用戶體驗 | 頁面間切換加載慢,不流暢,用戶體驗差,特別是在移動設(shè)備上 | 頁面片段間的切換快,用戶體驗好,包括在移動設(shè)備上 | 能否實現(xiàn)轉(zhuǎn)場動畫 | 無法實現(xiàn) | 容易實現(xiàn)(手機app 動效) | 頁面間傳遞數(shù)據(jù) | 依賴URL、cookie 或者localstorage ,實現(xiàn)麻煩 | 因為在一個頁面內(nèi),頁面間傳遞數(shù)據(jù)很容易實現(xiàn)(這里是我補充,父子之間傳值,或vuex 或storage 之類) | 搜索引擎優(yōu)化(SEO) | 可以直接做 | 需要單獨方案做,有點麻煩 | 特別適用的范圍 | 需要對搜索引擎友好的網(wǎng)站 | 對體驗要求高的應(yīng)用,特別是移動應(yīng)用 | 搜索引擎優(yōu)化(SEO) | 可以直接做 | 需要單獨方案做,有點麻煩 | 開發(fā)難度 | 低一些,框架選擇容易 | 高一些,需要專門的框架來降低這種模式的開發(fā)難度 |
|