Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan middleware nodejs

Cara menggunakan middleware nodejs

PHPz
PHPzasal
2023-04-26 09:07:30826semak imbas

Node.js telah menjadi teknologi yang sangat popular sejak beberapa tahun kebelakangan ini, membenarkan pembangun bahagian hadapan untuk menulis, menjalankan dan membina aplikasi web melalui bahasa JavaScript. Perisian tengah dalam Node.js merupakan bahagian penting dalam proses pembangunan Ia membolehkan pembangun mengurus fungsi dan laluan dengan mudah, sambil turut menyediakan pengoptimuman keselamatan dan prestasi. Dalam artikel ini, kita akan melihat dengan lebih mendalam tentang cara menggunakan perisian tengah dalam Node.js.

Apakah itu middleware?

Dalam Node.js, middleware ialah sekeping kod yang berkuasa dan mudah digunakan semula. Ia boleh memintas dan menapis antara permintaan dan respons HTTP, yang memudahkan pembangun menambahkan beberapa logik pemprosesan dan mengubah suai kandungan permintaan atau respons. Middleware boleh membantu kami mencapai beberapa keperluan pembangunan biasa, seperti:

  • Pengesahan dan kebenaran
  • Pengesahan input dan penukaran data
  • Analisis permintaan dan pengelogan
  • Kawalan laluan dan pengurusan sumber
  • Caching dan pemampatan

Memandangkan perisian tengah merupakan bahagian yang sangat penting dalam Node.js, Node.js disertakan dengan banyak perisian tengah Terbina dalam, seperti body-parser, express, dsb., dan terdapat juga banyak pakej middleware pihak ketiga untuk kami pilih dan gunakan.

Menggunakan perisian tengah Node.js

Memasang dan memperkenalkan perisian tengah

Sebelum menggunakan perisian tengah, kami perlu memasangnya ke dalam projek kami terlebih dahulu. Middleware boleh dipasang menggunakan pengurus pakej Node.js (cth. npm):

npm install 中间件名称

Selepas pemasangan selesai, kami perlu memperkenalkannya ke dalam kod kami melalui require atau import:

const 中间件名称 = require('中间件名称')
// 或者
import 中间件名称 from '中间件名称'

Seterusnya kita boleh mula menggunakan perisian tengah.

Perisian Tengah Aplikasi

Perisian Tengah dalam Node.js perlu digunakan melalui aplikasi. Kami boleh menggunakan aplikasi Express untuk menunjukkan penggunaan middleware:

const express = require('express')
const app = express()

// 使用中间件
app.use(中间件名称)

Dalam kod di atas, kami mencipta aplikasi Express dan memperkenalkan express middleware. Seterusnya, kami memohon app.use() pada aplikasi kami menggunakan kaedah 中间件名称. Dengan cara ini, setiap permintaan HTTP diproses oleh middleware sebelum mencapai aplikasi kami.

Menulis middleware tersuai

Jika tiada middleware pihak ketiga yang sesuai atau middleware terbina dalam ditemui, kami boleh menulis middleware tersuai untuk memenuhi keperluan kami. Menulis middleware memerlukan penggunaan fungsi middleware, yang mempunyai tiga parameter yang berkaitan dengan permintaan dan respons HTTP:

function 中间件名称(req, res, next) {
  // ...
}
  • req: mewakili objek permintaan, termasuk data yang dihantar oleh klien dan Minta maklumat.
  • res: Mewakili objek tindak balas, digunakan untuk menghantar data tindak balas dan maklumat tindak balas kepada pelanggan.
  • next: Menunjukkan perisian tengah atau penghala seterusnya yang melepasi perisian tengah ini dan mesti dipanggil secara eksplisit.

Dalam perisian tengah, kami boleh mengakses dan mengubah suai permintaan req objek dan respons res objek, dan juga boleh melaksanakan pemprosesan fungsi sewenang-wenangnya. Sebagai contoh, berikut ialah contoh middleware ringkas yang mengeluarkan alamat URL yang diakses dan cap masa:

function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}

Penggunaan berbilang middleware yang digabungkan

Dalam proses pembangunan sebenar, kita mungkin perlu menggunakan berbilang middleware pada masa yang sama untuk mencapai pelbagai fungsi dan keperluan. Pada masa ini, anda boleh menggunakan app.use() untuk menggabungkan berbilang middleware, dan middleware Node.js akan dilaksanakan secara berurutan mengikut susunan ia ditambahkan. Contohnya, kod berikut menunjukkan penggunaan berbilang middleware untuk melaksanakan pengesahan mudah:

// 身份验证中间件
function auth(req, res, next) {
  if (req.headers.auth === '123456') {
    // 授权通过,执行后续中间件
    next()
  } else {
    // 授权失败
    res.status(401).send('Authorization Failed')
  }
}

// 日志记录中间件
function logger(req, res, next) {
  console.log(`[${new Date()}]: ${req.url}`)
  next()
}

// 中间件串联
app.use(logger)
app.use(auth)

Dalam kod di atas, kami telah mentakrifkan dua middleware: auth dan logger. auth middleware digunakan untuk mengesahkan sama ada kebenaran berjaya dan logger middleware digunakan untuk merekodkan maklumat log permintaan HTTP. Melalui app.use(), kedua-dua perisian tengah ini disambungkan secara bersiri untuk melaksanakan fungsi pengesahan mudah.

Secara keseluruhan, perisian tengah ialah bahagian penting dalam proses pembangunan Node.js. Dengan bantuan perisian tengah, kami boleh melaksanakan pelbagai fungsi dan keperluan biasa dengan mudah sambil meningkatkan keselamatan dan prestasi aplikasi web. Oleh itu, adalah penting untuk mempelajari cara menggunakan perisian tengah, yang akan membantu kami meningkatkan kecekapan dan kualiti pembangunan Node.js.

Atas ialah kandungan terperinci Cara menggunakan middleware nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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