国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

nginx+vue.js實(shí)現(xiàn)前后端分離的示例代碼

2024-08-30 12:23:26
字體:
供稿:網(wǎng)友
這篇文章主要介紹了nginx+vue.js實(shí)現(xiàn)前后端分離的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

1.nginx 是一個(gè)高性能的HTTP和反向代理服務(wù)器,常用于分布式服務(wù)器管理.

它常用于做負(fù)載均衡(通過調(diào)用多臺(tái)服務(wù)器達(dá)到此目的)

靜態(tài)資源輸出更快,可以對(duì)資源實(shí)現(xiàn)gzip壓縮后輸出(這也是本文為什么用它做靜態(tài)資源訪問的一個(gè)重要原因)

適合解決跨域問題和反向代理(因?yàn)檎l也不想看到在本域名下看到訪問其他域名的情況發(fā)生,跨域可導(dǎo)致csrf攻擊,這是本文用它的第二個(gè)原因)

占用內(nèi)存少,秒啟,能快速切換結(jié)點(diǎn),防止宕機(jī)

2.es6 是ECMAScript的第六個(gè)版本,如果想要學(xué)好vue.js等js框架,這是必須要學(xué)會(huì)的一門語言,推薦學(xué)習(xí)地址如下:http://es6.ruanyifeng.com/

3.vue.js是一款前端模板渲染引擎,類似于后端的jsp,beetl等模板引擎.當(dāng)然結(jié)合node環(huán)境也可作為后端渲染用.(官網(wǎng)已支持)

說了上述幾點(diǎn),讓我們來回答幾個(gè)為什么?
1.實(shí)現(xiàn)前后端分離的好處是什么?主要應(yīng)用場(chǎng)景在哪?
2.為什么有了后端模板引擎,為什么還要用前端的模板引擎?他們的優(yōu)勢(shì)和劣勢(shì)?
3.實(shí)現(xiàn)前后端分離需要怎么改?

長(zhǎng)長(zhǎng)的分割線思考后……………………………

1.首先是發(fā)展的眼光看問題,以前的項(xiàng)目大多呈現(xiàn)的是PC端項(xiàng)目,且場(chǎng)景簡(jiǎn)單,固定.請(qǐng)求大多是有狀態(tài)的.而現(xiàn)在我們常常是移動(dòng)端項(xiàng)目較多,同一款app大多是原生和內(nèi)嵌頁面相結(jié)合的方式.并且現(xiàn)在的項(xiàng)目場(chǎng)景更多元化,這導(dǎo)致一個(gè)功能模塊很可能是好幾個(gè)項(xiàng)目的請(qǐng)求共同作用的結(jié)果.

2.如果還按照以前的做法,第一個(gè)問題是我只能用jsonp去解決調(diào)多個(gè)跨域請(qǐng)求的問題,實(shí)現(xiàn)起來代碼太過冗余。對(duì)于同一功能,很有可能app端和PC端就有兩套不同的寫法。并且?guī)捠莻€(gè)很貴的東西,客戶端總是去服務(wù)器端一起靜態(tài)資源的請(qǐng)求,會(huì)導(dǎo)致速度慢。動(dòng)靜分離可以實(shí)現(xiàn)靜態(tài)資源和動(dòng)態(tài)資源分開獲取,并且服務(wù)器也能動(dòng)靜分離,有效解決帶寬問題。

3.后端開發(fā)人員對(duì)于css,js的掌握可能不如前端熟練,比如利用jsp填充數(shù)據(jù)時(shí),往往需要后端開發(fā)人員去調(diào)樣式和寫js,這樣會(huì)造成開發(fā)效率低下。

4.采用前端模板渲染可以釋放服務(wù)器端的一部分壓力,并且前端模板引擎支持的功能比后端豐富.比如用vue可以自定義組件,校驗(yàn)方式,深入式漸變等,這比后端模板引擎功能要更加豐富.

4.我們的解決方案如下

1.傳統(tǒng)的交互方式:

客戶端發(fā)起請(qǐng)求,服務(wù)器端響應(yīng),經(jīng)過一系列操作生成動(dòng)態(tài)數(shù)據(jù),將動(dòng)態(tài)數(shù)據(jù)交由后端模板引擎,經(jīng)過渲染后,傳遞給前端.

2.改良的交互方式

客戶端發(fā)起請(qǐng)求,nginx攔截,若是靜態(tài)資源,則交由文件服務(wù)器直接壓縮后發(fā)送至前端.若是動(dòng)態(tài)資源請(qǐng)求,則經(jīng)過動(dòng)態(tài)資源服務(wù)器生成動(dòng)態(tài)數(shù)據(jù),以json格式返回至前端,交由vue.js渲染處理后進(jìn)行展示.

5.vue.js 2.x版的重點(diǎn)功能講解

1.怎樣和html結(jié)構(gòu)進(jìn)行綁定,怎樣和樣式進(jìn)行動(dòng)態(tài)綁定,常用的監(jiān)聽事件有哪些

1.基本的渲染

    //html結(jié)構(gòu)    <div id="app">     {{ message }}    </div>    //js模塊    var app = new Vue({    //會(huì)檢索綁定的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    }渲染結(jié)果為:<div class="static active"></div>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 锡林郭勒盟| 德化县| 九龙坡区| 昌都县| 海林市| 舟曲县| 永嘉县| 松溪县| 海口市| 湘西| 冀州市| 綦江县| 濮阳市| 兴宁市| 于都县| 北流市| 社旗县| 彰化县| 岳阳县| 平湖市| 璧山县| 陵川县| 苍溪县| 大同县| 临泉县| 都江堰市| 乌兰浩特市| 曲沃县| 万荣县| 曲沃县| 交口县| 鸡泽县| 三江| 筠连县| 巨野县| 蚌埠市| 安多县| 星座| 东乌珠穆沁旗| 综艺| 泰和县|