Node Express belajar dan berbual tentang perisian tengah

青灯夜游
Lepaskan: 2021-11-26 19:23:20
ke hadapan
2326 orang telah melayarinya

Artikel ini akan membawa anda melalui perisian tengah Ekspres dalam nod, dan memperkenalkan konsep dan klasifikasi perisian tengah saya harap ia akan membantu anda.

Node Express belajar dan berbual tentang perisian tengah

Express ialah rangka kerja pembangunan aplikasi web yang mudah dan fleksibel yang boleh digunakan untuk membina aplikasi web berfungsi sepenuhnya sebagai alat berdasarkan Node rangka kerja perkhidmatan lapisan yang dirangkumkan oleh js, Express menyediakan API yang lebih mudah, menjadikan organisasi dan pengurusan aplikasi lebih mudah melalui perisian tengah dan penghalaan.

Konsep middleware

Middleware ialah penguraian modular fungsi pemprosesan permintaan kepada beberapa fungsi sub-pemprosesan Satu siri fungsi sub-pemprosesan boleh membentuk middleware Timbunan;

Perisian Tengah ialah fungsi yang boleh mengakses permintaan objek req, respons objek res dan seterusnya() dalam kitaran permintaan-tindak balas aplikasi. Fungsi next() bertanggungjawab terutamanya untuk menghantar kawalan ke middleware seterusnya jika middleware semasa tidak menamatkan permintaan dan next() tidak dipanggil, permintaan akan digantung dan middleware yang ditakrifkan kemudian tidak akan dilaksanakan. ,

Arahan pelaksanaan middleware adalah mengikut perintah pendaftaran dari atas ke bawah. Fungsi

Middleware boleh melaksanakan tugas berikut:

  • Laksanakan sebarang kod
  • Ubah suai objek permintaan dan respons
  • Tamatkan kitaran permintaan-tindak balas
  • Perisian tengah seterusnya (seterusnya) dalam timbunan panggilan

Tujuan utama perisian tengah ialah untuk memproses permintaan HTTP seperti pengesahan status log masuk, log permintaan, pengendalian ralat, kuki, dsb.

Node Express belajar dan berbual tentang perisian tengah

Klasifikasi perisian tengah

1 Perisian tengah peringkat aplikasi

Gunakan fungsi app.use() ke Aplikasi -perisian tengah peringkat terikat pada contoh objek aplikasi

const app = express();
/*表示匹配任何路由*/
app.use(function(req,res,next){
    console.log('请求时间:' +  Date.now());
    /*表示匹配完成这个中间件就继续往下执行。*/
    next()
})
Salin selepas log masuk

2 Perisian tengah peringkat penghalaan

Kerja perisian tengah peringkat laluan dan perisian tengah peringkat aplikasi Caranya adalah sama, kecuali ia terikat pada contoh penghala

import express from 'express';

const app = express();

const router = express.router();

router.use(
  '/user',
  function (req, res, next) {
    console.log(1);
    next();
  },
  function (req, res, next) {
    console.log(2);
    next();
  },
  function (rex, res, next) {
    console.log(3);
    next();
  }
);
Salin selepas log masuk

3 Ralat mengendalikan middleware

Ralat mengendalikan middleware sentiasa memerlukan 4 parameter dan mesti Menyediakan 4 parameter untuk mengenal pasti ia sebagai fungsi middleware pengendalian ralat. Walaupun fungsi seterusnya tidak diperlukan, ia mesti dinyatakan. Jika tidak, fungsi seterusnya ditafsirkan sebagai middleware biasa dan ralat tidak boleh dikendalikan

app.use(function(err, req, res, next){
    console.log(err.stack);
    res.status(500).send(err);
})
Salin selepas log masuk

4 middleware terbina dalam

Express mempunyai middleware terbina dalam berikut :

  • express.static: Menyediakan perkhidmatan sumber statik
  • express.router: Menyediakan perkhidmatan penghalaan

5 Perisian tengah pihak ketiga

Perisian tengah pihak ketiga seperti penghurai badan, penghurai kuki, dsb.

6 Perisian tengah tersuai

Perisian tengah tersuai ditakrifkan sebagai fungsi, menerima req , res, parameter seterusnya, gunakan app.use() untuk mendaftar middleware

function log(req,res,next) {
    req.requestTime = Date.now();
    next()
}
// 注册自定义中间件
app.use(log);
Salin selepas log masuk
// 自定义可配置中间件
function log(options) {
    return function (req,res,next) {
        // 根据options实现中间件功能
        next
    }
}
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !

Atas ialah kandungan terperinci Node Express belajar dan berbual tentang perisian tengah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!