日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

为什么要用nodejs做中间层

發布時間:2023/12/31 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么要用nodejs做中间层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么要用nodejs做中間層

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

前后端分離demo

http.js (node中間層 )

var formatURL = require('./formatURL.js'); var http = require('http'); const POSThttp = function(request){return new Promise((resolve, reject) => {let body = '';// http模塊拿到真實后臺api的數據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;

index.js(前端頁面)

var express = require('express'); var POSThttp = require('./POSThttp.js'); var bodyParser = require('body-parser'); // 使用body-parser解析post請求的參數,如果沒有,req.body為undefined。 var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true })); app.post('/', (req, res) => {POSThttp(req).then((data) => {res.send(data);}).catch((err) => {res.send(err);}); }); app.listen(3000, () => {console.log('open wx-audio server successful!') });

這幾十行代碼也就實現了一個簡單的中間層的demo,并做到了在中間層格式化參數,便于前端進行使用的過程。


現今網站存在問題

現今大公司的老項目(包括百度、搜狐等公司所采用的后端渲染等),或多或少都會存在這樣的一些 問題 :

  • 前端代碼越來越復雜
  • 前后端依舊高度耦合
  • 無法良好的支持跨終端

前輩們提出的解決方案

  • 前端代碼越來越復雜,我們希望盡可能地減少工作量,開始使用類似MV*的分層結構,使前端后分離成為必要;

  • 前端需要處理更多的工作,希望有權操控View,Router(如:SPA的嘗試);

  • 各種終端設備的興起,需要我們把頁面適配到更多的地方。

客戶端的MVC

關于MVC的定義:

MVC是一種設計模式,它將應用劃分為3個部分:數據(模型)、展現層(視圖)和用戶交互(控制器)。換句話說,一個事件的發生是這樣的過程:

  • 用戶和應用產生交互。
  • 控制器的事件處理器被觸發。
  • 控制器從模型中請求數據,并將其交給視圖。
  • 視圖將數據呈現給用戶。
  • 我們不用類庫或框架就可以實現這種MVC架構模式。關鍵是要將MVC的每部分按照職責進行劃分,將代碼清晰地分割為若干部分,并保持良好的解耦。這樣可以對每個部分進行獨立開發、測試和維護。

    原文地址: https://blog.csdn.net/baidu_31333625/article/details/66970196

    總結

    以上是生活随笔為你收集整理的为什么要用nodejs做中间层的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。