最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

概述

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

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

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

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

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

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

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

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

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

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

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

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

3、第三方中間件

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

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請(qǐng)求的數(shù)據(jù)解析為對(duì)象
//extended是否要使用擴(kuò)展qs模塊解析為對(duì)象
//如果是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語(yǔ)句
connection.query('select * from emp',(err,result)=>{
    if(err) throw err;
    console.log(result);
});
//關(guān)閉連接
connection.end();

連接池

const mysql=require('mysql');
//使用連接池
//創(chuàng)建連接池對(duì)象
var pool=mysql.createPool(
    {
        host:'127.0.0.1',
        port:'3306',
        user:'root',
        password:'1234',
        database:'tedu',
        connectionLimit:20
    }
);
//執(zhí)行sql語(yǔ)句
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);
// });
//使用對(duì)象插入數(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);
// })
//使用占位符刪除編號(hào)為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中間件有哪些類型的詳細(xì)內(nèi)容,更多關(guān)于node.js中間件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面

    Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面

    Thinkjs 是一個(gè)快速、簡(jiǎn)單的基于MVC和面向?qū)ο蟮妮p量級(jí)Node.js開(kāi)發(fā)框架,下面這篇文章主要給大家介紹了關(guān)于Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • 帶你了解NodeJS事件循環(huán)

    帶你了解NodeJS事件循環(huán)

    這篇文章主要介紹NodeJS事件循環(huán),Node中代碼從上到下同步執(zhí)行,在執(zhí)行過(guò)程中會(huì)將不同的任務(wù)添加到相應(yīng)的隊(duì)列中,那具體有的循環(huán)又是怎么回事呢,限免現(xiàn)編就帶大家學(xué)習(xí)該詳細(xì)內(nèi)容,需要的朋友也可以參考一下
    2022-02-02
  • nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)

    nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)

    這篇文章主要介紹了nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • node.js中ws模塊創(chuàng)建服務(wù)端與客戶端實(shí)例代碼

    node.js中ws模塊創(chuàng)建服務(wù)端與客戶端實(shí)例代碼

    在Node.js中提供了http模塊與https模塊,專用于創(chuàng)建HTTP服務(wù)器、HTTP客戶端,以及HTTPS服務(wù)器及HTTPS客戶端,同時(shí)實(shí)現(xiàn)這些服務(wù)器端與客戶端之中所需進(jìn)行的處理,下面這篇文章主要給大家介紹了關(guān)于node.js中ws模塊創(chuàng)建服務(wù)端與客戶端的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Node.js開(kāi)發(fā)之套接字(socket)編程入門(mén)示例

    Node.js開(kāi)發(fā)之套接字(socket)編程入門(mén)示例

    這篇文章主要介紹了Node.js開(kāi)發(fā)之套接字(socket)編程,結(jié)合簡(jiǎn)單實(shí)例形式分析了node.js套接字socket客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-11-11
  • jwt在express中token的加密解密實(shí)現(xiàn)過(guò)程

    jwt在express中token的加密解密實(shí)現(xiàn)過(guò)程

    文章詳細(xì)介紹了JWT在Node.js中的生成和驗(yàn)證過(guò)程,包括設(shè)置密鑰、使用中間件進(jìn)行token驗(yàn)證等步驟,并提供了一個(gè)完整的示例代碼,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • npm?list輸出結(jié)果包含extraneous標(biāo)志記錄分析

    npm?list輸出結(jié)果包含extraneous標(biāo)志記錄分析

    這篇文章主要為大家介紹了npm?list輸出結(jié)果包含extraneous標(biāo)志記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 從reflect?metadata理解Nest實(shí)現(xiàn)原理

    從reflect?metadata理解Nest實(shí)現(xiàn)原理

    這篇文章主要為大家介紹了從reflect?metadata理解Nest實(shí)現(xiàn)原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 用npm install時(shí)報(bào)錯(cuò)node-sass npm ERR command failed問(wèn)題的解決方法

    用npm install時(shí)報(bào)錯(cuò)node-sass npm ERR command

    在用npm install時(shí)報(bào)錯(cuò)npm ERR! path D:…\node-sass和npm ERR! command failed 問(wèn)題,本文給大家介紹了如何解決這個(gè)問(wèn)題,文中通過(guò)圖文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • NodeJS設(shè)計(jì)模式總結(jié)【單例模式,適配器模式,裝飾模式,觀察者模式】

    NodeJS設(shè)計(jì)模式總結(jié)【單例模式,適配器模式,裝飾模式,觀察者模式】

    這篇文章主要介紹了NodeJS設(shè)計(jì)模式,結(jié)合實(shí)例形式總結(jié)分析了nodejs單例模式,適配器模式,裝飾模式,觀察者模式的概念、原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

顺平县| 毕节市| 建瓯市| 大丰市| 丘北县| 巴彦县| 界首市| 日照市| 佛学| 兴文县| 高清| 呼玛县| 进贤县| 桂平市| 贞丰县| 隆回县| 诸暨市| 沙河市| 垣曲县| 阿荣旗| 克山县| 图木舒克市| 东乌珠穆沁旗| 渝北区| 万盛区| 远安县| 竹溪县| 虹口区| 大埔区| 两当县| 九台市| 永年县| 辽中县| 游戏| 临夏市| 桐乡市| 揭西县| 梨树县| 合山市| 塔城市| 开封市|