詳解從NodeJS搭建中間層再談前后端分離-創(chuàng)新互聯(lián)

之前在知道創(chuàng)宇的項(xiàng)目中有用到過(guò)nodejs作中間層,當(dāng)時(shí)還不太理解其背后真正的原因;后來(lái)在和一位學(xué)長(zhǎng)交談的過(guò)程中,也了解到螞蟻金服也在使用類似的方法,使用nodejs作為中間層去請(qǐng)求真實(shí)后臺(tái)的數(shù)據(jù);之后人到北京,也見到現(xiàn)在的公司也在往nodejs后端方向靠攏。隨著知識(shí)的增加,加之自己查閱資料,慢慢總結(jié)出了一些原理。

沁源網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,沁源網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為沁源成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的沁源做網(wǎng)站的公司定做!

為什么要前后端分離

1、開發(fā)效率高
前端開發(fā)人員不用苦苦地配置各種后端環(huán)境,安裝各種莫名的插件,擺脫對(duì)后端開發(fā)環(huán)境的依賴,一門心思寫前端代碼就好,后端開發(fā)人員也不用時(shí)不時(shí)的跑去幫著前端配環(huán)境。

2、職責(zé)清晰,找bug方便
以前有了bug,前端推后端,后端推前端,不知道該誰(shuí)去該,前后端分離,是誰(shuí)的問(wèn)題就該誰(shuí)去處理,處理問(wèn)題方便很多,后期代碼重構(gòu)方便,做到了高可維護(hù)性。

從做微信小程序引發(fā)的思考

最近出于愛好,寫了個(gè)音樂播放器的微信小程序(原本想用vue寫的,后來(lái)因?yàn)楣緲I(yè)務(wù)原因,年后可能去做微信小程序,所以就換了前端技術(shù)棧),源碼在我的GitHub上: wx-audio 。

思考:后端出于性能和別的原因,提供的接口所返回的數(shù)據(jù)格式也許不太適合前端直接使用,前端所需的排序功能、篩選功能,以及到了視圖層的頁(yè)面展現(xiàn),也許都需要對(duì)接口所提供的數(shù)據(jù)進(jìn)行二次處理。這些處理雖可以放在前端來(lái)進(jìn)行,但也許數(shù)據(jù)量一大便會(huì)浪費(fèi)瀏覽器性能。因而現(xiàn)今,增加node端便是一種良好的解決方案。

在我的微信小程序demo的server端代碼中,我通過(guò)http模塊對(duì)真實(shí)后臺(tái)(網(wǎng)易云音樂API)發(fā)起http請(qǐng)求,然后通過(guò)express模塊搭建后端服務(wù)。

發(fā)起請(qǐng)求:

// http.js
var formatURL = require('./formatURL.js');
var http = require('http');
const POSThttp = function(request){
 return new Promise((resolve, reject) => {
  let body = '';
  // http模塊拿到真實(shí)后臺(tái)api的數(shù)據(jù)
  http.get(formatURL(request.body.musicname), function(res){
   res.on('data', (data) => {
    body += data;
   }).on('end', () => {
    // 格式化
    const {
     name,
     audio: musicUrl,
     page,
     album: {
      name: musicName,
      picUrl,
     },
     artists: [{
      name: singer,
     }],
    } = JSON.parse(body).result.songs[0];
    const reply = {
     name,
     picUrl,
     musicUrl,
     page,
     singer,
    };
    resolve(reply);
   });
  });
 });
};
module.exports = POSThttp;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:詳解從NodeJS搭建中間層再談前后端分離-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article14/dsepge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、手機(jī)網(wǎng)站建設(shè)外貿(mào)建站、軟件開發(fā)、Google、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)