1.nginx 是一個高性能的HTTP和反向代理服務器,常用于分布式服務器管理.
它常用于做負載均衡(通過調用多臺服務器達到此目的)
靜態資源輸出更快,可以對資源實現gzip壓縮后輸出(這也是本文為什么用它做靜態資源訪問的一個重要原因)
適合解決跨域問題和反向代理(因為誰也不想看到在本域名下看到訪問其他域名的情況發生,跨域可導致csrf攻擊,這是本文用它的第二個原因)
占用內存少,秒啟,能快速切換結點,防止宕機
2.es6 是ECMAScript的第六個版本,如果想要學好vue.js等js框架,這是必須要學會的一門語言,推薦學習地址如下:http://es6.ruanyifeng.com/
3.vue.js是一款前端模板渲染引擎,類似于后端的jsp,beetl等模板引擎.當然結合node環境也可作為后端渲染用.(官網已支持)
說了上述幾點,讓我們來回答幾個為什么?
1.實現前后端分離的好處是什么?主要應用場景在哪?
2.為什么有了后端模板引擎,為什么還要用前端的模板引擎?他們的優勢和劣勢?
3.實現前后端分離需要怎么改?
長長的分割線思考后……………………………
1.首先是發展的眼光看問題,以前的項目大多呈現的是PC端項目,且場景簡單,固定.請求大多是有狀態的.而現在我們常常是移動端項目較多,同一款app大多是原生和內嵌頁面相結合的方式.并且現在的項目場景更多元化,這導致一個功能模塊很可能是好幾個項目的請求共同作用的結果.
2.如果還按照以前的做法,第一個問題是我只能用jsonp去解決調多個跨域請求的問題,實現起來代碼太過冗余。對于同一功能,很有可能app端和PC端就有兩套不同的寫法。并且帶寬是個很貴的東西,客戶端總是去服務器端一起靜態資源的請求,會導致速度慢。動靜分離可以實現靜態資源和動態資源分開獲取,并且服務器也能動靜分離,有效解決帶寬問題。
3.后端開發人員對于css,js的掌握可能不如前端熟練,比如利用jsp填充數據時,往往需要后端開發人員去調樣式和寫js,這樣會造成開發效率低下。
4.采用前端模板渲染可以釋放服務器端的一部分壓力,并且前端模板引擎支持的功能比后端豐富.比如用vue可以自定義組件,校驗方式,深入式漸變等,這比后端模板引擎功能要更加豐富.
4.我們的解決方案如下
1.傳統的交互方式:
客戶端發起請求,服務器端響應,經過一系列操作生成動態數據,將動態數據交由后端模板引擎,經過渲染后,傳遞給前端.
2.改良的交互方式
客戶端發起請求,nginx攔截,若是靜態資源,則交由文件服務器直接壓縮后發送至前端.若是動態資源請求,則經過動態資源服務器生成動態數據,以json格式返回至前端,交由vue.js渲染處理后進行展示.
5.vue.js 2.x版的重點功能講解
1.怎樣和html結構進行綁定,怎樣和樣式進行動態綁定,常用的監聽事件有哪些
1.基本的渲染
//html結構 <div id="app"> {{ message }} </div> //js模塊 var app = new Vue({ //會檢索綁定的id 如果是class 則是.class即可綁定 el: '#app', data: { message: 'Hello Vue!' } })
2.class與style綁定
<div class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }"></div> data: { isActive: true, hasError: false }渲染結果為:<div class="static active"></div>
新聞熱點
疑難解答