【博學(xué)谷學(xué)習(xí)記錄】超強(qiáng)總結(jié)典奉,用心分享|Vue原理及SSR入門

一、vue雙向綁定原理

? ? vue.js 則是采用數(shù)據(jù)劫持結(jié)合發(fā)布者-訂閱者模式的方式鳞芙,通過Object.defineProperty()來劫持各個屬性的setter眷柔,getter期虾,在數(shù)據(jù)變動時發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)驯嘱。

Object.defineProperty()這個方法:

var obj? = {};

Object.defineProperty(obj, 'name', {

? ? ? ? get: function() {

? ? ? ? ? ? console.log('我被獲取了')

? ? ? ? ? ? return val;

? ? ? ? },

? ? ? ? set: function (newVal) {

? ? ? ? ? ? console.log('我被設(shè)置了')

? ? ? ? }

})

obj.name = 'fei';//在給obj設(shè)置name屬性的時候镶苞,觸發(fā)了set這個方法

var val = obj.name;//在得到obj的name屬性,會觸發(fā)get方法

? ? 已經(jīng)了解到vue是通過數(shù)據(jù)劫持的方式來做數(shù)據(jù)綁定的鞠评,其中最核心的方法便是通過Object.defineProperty()來實(shí)現(xiàn)對屬性的劫持茂蚓,那么在設(shè)置或者獲取的時候我們就可以在get或者set方法里假如其他的觸發(fā)函數(shù),達(dá)到監(jiān)聽數(shù)據(jù)變動的目的剃幌。

二聋涨、什么是 SSR

? ? SSR 的全稱是 Server Side Rendering,對應(yīng)的中文名是:服務(wù)器端渲染负乡,顧名思義是將渲染的工作放在 Server 端進(jìn)行牍白。

? ? ? 而與之對應(yīng)的是 CSR ,客戶端渲染敬鬓,也就是目前 Web 應(yīng)用中主流的渲染模式淹朋,一般由 Server 端返回的初始 HTML 頁面,然后再由 JS 去異步加載數(shù)據(jù)钉答,然后完成頁面的渲染础芍。

? ? ? SSR是后端模板渲染和單頁面的組合。? SSR有兩種模式数尿,單頁面和非單頁面模式仑性,第一種是后端首次渲染的單頁面應(yīng)用,第二種是完全使用后端路由的后端模版渲染模式右蹦。他們區(qū)別在于使用后端路由的程度诊杆。

vue ssr主要是解決以下兩個問題:

1.seo

? ? SEO和爬蟲都是根據(jù)url返回的數(shù)據(jù)來進(jìn)行的,所以我們需要用戶請求url的時候何陆,返回的是有數(shù)據(jù)填充的的頁面晨汹,spa應(yīng)用查看網(wǎng)頁源代碼,也就是爬蟲seo獲取的數(shù)據(jù)贷盲,是一個沒有數(shù)據(jù)的殼子淘这,搜索引擎爬蟲抓取工具可以直接查看完全渲染的頁面。

2.首屏渲染

? ? ? 更快的內(nèi)容到達(dá)時間巩剖,像vue這樣的單頁面應(yīng)用铝穷,首屏渲染是單頁面spa的通病,打包出來的dist過大佳魔,會導(dǎo)致首屏加載緩慢曙聂。

3.應(yīng)用場景:

? ? ? 并不是所有的網(wǎng)站都需要SEO,比如企業(yè)內(nèi)部網(wǎng)站鞠鲜,后天管理系統(tǒng)等宁脊。

? ? ? 一些vue老項(xiàng)目断国,重構(gòu)成本太大,首屏渲染可以通過路由懶加載朦佩,按需加載的方式并思,修改對應(yīng)的問題,不全盤扳倒重寫语稠。

? ? 在服務(wù)器返回結(jié)果之前宋彼,可以做處理判斷是否是爬蟲,來決定進(jìn)行預(yù)渲染仙畦。

另一方面输涕,不一定非要 100% SSR,渲染特定頁面慨畸,甚至只渲染一個頁面框架也是一個很好的選擇莱坎。

4.同構(gòu)的定義

在服務(wù)端渲染中,有兩種頁面渲染的方式:

? ? ? 前端服務(wù)器通過請求后端服務(wù)器獲取數(shù)據(jù)并組裝HTML返回給瀏覽器寸士,瀏覽器直接解析HTML后渲染頁面

? ? ? ? 瀏覽器在交互過程中檐什,請求新的數(shù)據(jù)并動態(tài)更新渲染頁面

? ? ? 這兩種渲染方式有一個不同點(diǎn)就是,一個是在服務(wù)端中組裝html的弱卡,一個是在客戶端中組裝html的乃正,運(yùn)行環(huán)境是不一樣的。所謂同構(gòu)婶博,就是讓一份代碼瓮具,既可以在服務(wù)端中執(zhí)行,也可以在客戶端中執(zhí)行凡人,并且執(zhí)行的效果都是一樣的名党,都是完成這個html的組裝,正確的顯示頁面挠轴。也就是說传睹,一份代碼,既可以客戶端渲染岸晦,也可以服務(wù)端渲染

5.同構(gòu)的條件

? ? 為了實(shí)現(xiàn)同構(gòu)欧啤,首先思考一個應(yīng)用中一個頁面的組成,假如使用的是Vue.js委煤,當(dāng)我們打開一個頁面時堂油,首先是打開這個頁面的URL修档,這個URL碧绞,可以通過應(yīng)用的路由匹配,找到具體的頁面吱窝,不同的頁面有不同的視圖讥邻,從應(yīng)用的角度來看迫靖,視圖 = 模板 + 數(shù)據(jù)跪解,那么在 Vue.js 中背桐, 模板可以理解成組件,數(shù)據(jù)可以理解為數(shù)據(jù)模型霎冯,即響應(yīng)式數(shù)據(jù)发魄。所以盹牧,對于同構(gòu)應(yīng)用來說,我們必須實(shí)現(xiàn)客戶端與服務(wù)端的路由励幼、模型組件汰寓、數(shù)據(jù)模型的共享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苹粟,一起剝皮案震驚了整個濱河市有滑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嵌削,老刑警劉巖毛好,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異苛秕,居然都是意外死亡肌访,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門想帅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來场靴,“玉大人,你說我怎么就攤上這事港准≈及” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵浅缸,是天一觀的道長轨帜。 經(jīng)常有香客問我,道長衩椒,這世上最難降的妖魔是什么蚌父? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮毛萌,結(jié)果婚禮上苟弛,老公的妹妹穿的比我還像新娘。我一直安慰自己阁将,他們只是感情好膏秫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著做盅,像睡著了一般缤削。 火紅的嫁衣襯著肌膚如雪窘哈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天亭敢,我揣著相機(jī)與錄音滚婉,去河邊找鬼。 笑死帅刀,一個胖子當(dāng)著我的面吹牛让腹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扣溺,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哨鸭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了娇妓?” 一聲冷哼從身側(cè)響起像鸡,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哈恰,沒想到半個月后只估,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡着绷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年蛔钙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荠医。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吁脱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出彬向,到底是詐尸還是另有隱情兼贡,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布娃胆,位于F島的核電站遍希,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏里烦。R本人自食惡果不足惜凿蒜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胁黑。 院中可真熱鬧废封,春花似錦、人聲如沸丧蘸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至氮发,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冗懦,已是汗流浹背爽冕。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留披蕉,地道東北人颈畸。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像没讲,于是被迫代替她去往敵國和親眯娱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容