亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談node.js中間件有哪些類型

 更新時間:2021年04月29日 15:04:35   作者:淺笑·  
這篇文章主要介紹了node.js中間件有哪些類型,對中間件感興趣的同學(xué),可以參考下

概述

node中間件就是封裝在程序中處理http請求的功能。node中間件是在管道中執(zhí)行。中間件位于客戶機/ 服務(wù)器的操作系統(tǒng)之上,管理計算機資源和網(wǎng)絡(luò)通訊。

中間件為主要的邏輯業(yè)務(wù)所服務(wù),可分為:應(yīng)用級中間件、路由級中間件、內(nèi)置中間件、第三方中間件、錯誤級中間件。

1、應(yīng)用級中間件

每一個中間件就是調(diào)用一個函數(shù),需要配合其他的中間件或者路由使用

server (函數(shù)) 攔截所有的路由

server.use('/reg',函數(shù));攔截特定的路由

const express=require('express');
var server=express();
server.listen(3000);
//中間件攔截注冊路由/reg
server.use('/reg',(req,res,next)=>{
    console.log('注冊驗證');
    next();
});

server.use('/login',(req,res)=>{
    console.log('記錄了日志');
})
server.get('/reg',(req,res,next)=>{
    res.send('注冊成功');
    next();
});

server.get('/login',(req,res)=>{
    res.send('登陸成功');
})

2、內(nèi)置中間件

server.use(express.static('目錄'))

把靜態(tài)資源文件托管到某一個目錄,如果瀏覽器請求靜態(tài)資源,則自動到這個目錄下查找

3、第三方中間件

(1)body-parser,將post請求數(shù)據(jù)解析為對象

const express = require('express');
//引入body-parser中間件
const bodyParser=require('body-parser');

var server=express();
server.listen(3000);
// 托管靜態(tài)資源到public
server.use(express.static('./public'));

//使用body-parser中間件,將post請求的數(shù)據(jù)解析為對象
//extended是否要使用擴展qs模塊解析為對象
//如果是false,不使用,而去使用querystring模塊
server.use(bodyParser.urlencoded(
    {extended:false}
))

server.post('/mylogin',(req,res)=>{
    console.log(req.body);
    res.send('登陸成功');
})

(2)mysql模塊

普通連接

//引入mysql模塊
const mysql =require('mysql');
//1、普通連接
//1、1創(chuàng)建連接
var connection=mysql.createConnection({
    host:'127.0.0.1',
    port:'3306',
    user:'root',
    password:'1234',
    database:'tedu'
});
//1.2執(zhí)行連接
connection.connect();
//執(zhí)行sql語句
connection.query('select * from emp',(err,result)=>{
    if(err) throw err;
    console.log(result);
});
//關(guān)閉連接
connection.end();

連接池

const mysql=require('mysql');
//使用連接池
//創(chuàng)建連接池對象
var pool=mysql.createPool(
    {
        host:'127.0.0.1',
        port:'3306',
        user:'root',
        password:'1234',
        database:'tedu',
        connectionLimit:20
    }
);
//執(zhí)行sql語句
pool.query('select * from emp where eid=2',(err,result)=>{
    if(err) throw err;
    console.log(result);
})
const mysql=require('mysql');
var pool=mysql.createPool({
    'host':'127.0.0.1',
    port:'3306',
    user:'root',
    password:'1234',
    database:'tedu',
    connectionLimit:20
})
//使用占位符插入數(shù)據(jù)
// pool.query("insert into emp values(?,?,?,?,?,?)",[null,'yt','1','1995-12-24','9000','20'],(err,result)=>{
//     if(err) throw err;
//     console.log(result);
// });
//使用對象插入數(shù)據(jù)
// var emp={
//     eid:null,
//     ename:'html',
//     sex:1,
//     birthday:'1995-12-25',
//     salary:10000,
//     deptid:30
// }
// pool.query('insert into emp set ?',[emp],(err,result)=>{
//     if(err) throw err;
//     console.log(result);
// })
//使用占位符刪除編號為10的數(shù)據(jù)
pool.query('delete  from emp where eid=?',[10],(err,result)=>{
    if(err) throw err;
    console.log(result);
    if(result.affectedRows>0){
        console.log('刪除成功');
    }
    else{
        console.log('刪除失敗');
    }
})

以上就是淺談node.js中間件有哪些類型的詳細內(nèi)容,更多關(guān)于node.js中間件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • NodeJS實現(xiàn)微信公眾號關(guān)注后自動回復(fù)功能

    NodeJS實現(xiàn)微信公眾號關(guān)注后自動回復(fù)功能

    這篇文章主要為大家詳細介紹了NodeJS實現(xiàn)微信公眾號關(guān)注后自動回復(fù)功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • node網(wǎng)頁分段渲染詳解

    node網(wǎng)頁分段渲染詳解

    按照常理,我們渲染一張網(wǎng)頁,必定是網(wǎng)頁全部拼裝完畢,然后生成HTML字符串,傳送至客戶端。這也意味著,如果一張網(wǎng)頁處理的有快有慢的話,必須串行等到所有的邏輯都處理完畢。后端才能進行返回。
    2016-09-09
  • 13 個npm 快速開發(fā)技巧(推薦)

    13 個npm 快速開發(fā)技巧(推薦)

    這篇文章主要介紹了13 個npm 快速開發(fā)技巧,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-07
  • Node.js 緩沖區(qū)(Buffer)模塊的方法及實例分析

    Node.js 緩沖區(qū)(Buffer)模塊的方法及實例分析

    在本篇文章里小編給大家整理了一篇關(guān)于Node.js 緩沖區(qū)(Buffer)模塊的方法及實例分析,對此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2022-01-01
  • 如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL

    如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL

    這篇文章主要介紹了如何正確使用Nodejs 的 c++ module 鏈接到 OpenSSL,需要的朋友可以參考下
    2014-08-08
  • node.js去水印方法實例分析

    node.js去水印方法實例分析

    這篇文章主要介紹了node.js去水印方法,結(jié)合實例形式分析了node.js基于第三方平臺實現(xiàn)去水印的相關(guān)交互與操作技巧,需要的朋友可以參考下
    2023-04-04
  • Ubuntu中搭建Nodejs開發(fā)環(huán)境過程分享

    Ubuntu中搭建Nodejs開發(fā)環(huán)境過程分享

    這篇文章主要介紹了Ubuntu中搭建Nodejs開發(fā)環(huán)境過程,比較郁悶的是apt-get安裝失敗了,如果有遇到一樣問題的朋友,可以參考一下本文
    2014-06-06
  • 在Express處理錯誤和未匹配路由的解決方法

    在Express處理錯誤和未匹配路由的解決方法

    在使用 Express 開發(fā) Web 應(yīng)用程序時,有效地處理錯誤和管理未匹配任何定義處理程序的路由至關(guān)重要,這確保了應(yīng)用程序的健壯性和更好的用戶體驗,本文給出了詳細的解決方法,需要的朋友可以參考下
    2024-01-01
  • node連接MySQL數(shù)據(jù)庫的3種方式總結(jié)

    node連接MySQL數(shù)據(jù)庫的3種方式總結(jié)

    現(xiàn)在前端基本上都會用一些NodeJs,想必也想自己寫一些API或者個人博客的后臺系統(tǒng),這些就離不開連接數(shù)據(jù)庫的問題,下面這篇文章主要給大家介紹了關(guān)于node連接MySQL數(shù)據(jù)庫的3種方式,需要的朋友可以參考下
    2022-08-08
  • nodejs+express實現(xiàn)文件上傳下載管理網(wǎng)站

    nodejs+express實現(xiàn)文件上傳下載管理網(wǎng)站

    這篇文章主要為大家詳細介紹了nodejs+express實現(xiàn)文件上傳下載管理的網(wǎng)站,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論