Perisian tengah dalam Express.js ialah mekanisme berkuasa yang membolehkan anda memintas permintaan masuk dan respons keluar. Ia menyediakan cara yang fleksibel untuk memanjangkan kefungsian aplikasi anda tanpa mengubah suai logik penghalaan teras. Dalam catatan blog ini, kami akan menyelidiki konsep middleware, meneroka pelbagai jenisnya dan menunjukkan cara melaksanakannya dengan berkesan.
Memahami Middleware
Fungsi perisian tengah pada asasnya ialah fungsi yang mempunyai akses kepada permintaan (req), respons (res), dan perisian tengah seterusnya dalam rantaian (seterusnya). Mereka boleh melakukan pelbagai tugas, seperti:
Pengelogan: Rekod permintaan masuk dan respons keluar untuk analisis dan penyahpepijatan.
Pengesahan: Sahkan kelayakan pengguna dan benarkan akses kepada laluan yang dilindungi.
Pengendalian Ralat: Tangkap dan kendalikan ralat yang berlaku dalam aplikasi anda.
Menghuraikan Badan Permintaan: Menghuraikan badan permintaan masuk (cth., JSON, data borang).
Menetapkan Pengepala Respons: Tetapkan pengepala tersuai dalam respons keluar (cth., pengepala CORS).
Jenis Middleware
Perisian Tengah Peringkat Aplikasi:
Digunakan pada semua permintaan masuk ke apl Express.
Biasanya digunakan untuk konfigurasi global, pengelogan dan pengendalian ralat.
const express = require('express'); const app = express(); // Application-level middleware app.use((req, res, next) => { console.log('Request URL:', req.url); next(); });
Perisian Tengah Tahap Penghala:
Digunakan pada laluan atau kumpulan laluan tertentu.
Berguna untuk pengesahan, kebenaran atau pengesahan data khusus laluan.
const express = require('express'); const router = express.Router(); // Router-level middleware router.use((req, res, next) => { console.log('Router-level middleware'); next(); }); router.get('/users', (req, res) => { // ... });
Perisian Tengah Pengendalian Ralat:
Direka bentuk untuk mengendalikan ralat yang berlaku dalam aplikasi.
Mesti mempunyai empat hujah: err, req, res, dan seterusnya.
app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send('Internal Server Error'); });
Kesimpulan
Dengan menggunakan perisian tengah dengan berkesan, anda boleh meningkatkan keselamatan, prestasi dan kefungsian keseluruhan aplikasi Express.js anda. Memahami pelbagai jenis perisian tengah dan kes penggunaannya yang sesuai akan memperkasakan anda untuk mencipta aplikasi web yang teguh dan berskala.
Atas ialah kandungan terperinci Aplikasi Express.js dengan Middleware. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!