Panduan untuk Penghalaan dan Perisian Tengah dalam Ekspres

Penghalaan dan perisian tengah ialah dua konsep penting dalam Node.js dan rangka kerja Express untuk membina aplikasi web.

Penghalaan:

  • Penghalaan ialah proses menentukan cara mengendalikan permintaan daripada klien dan bertindak balas dengan sumber yang sepadan pada pelayan.
  • Dalam Express, kita boleh menentukan laluan dengan menentukan kaedah HTTP (GET, POST, PUT, DELETE, dll.) dan laluan URL yang sepadan.
  • Setiap laluan boleh mempunyai satu atau lebih fungsi pengendali untuk melaksanakan tugas seperti pemprosesan permintaan, akses pangkalan data dan menghantar respons kepada klien.

Middleware:

  • Middleware ialah fungsi yang dilaksanakan dalam urutan sebelum permintaan mencapai pengendali laluan terakhir.
  • Ia digunakan untuk melaksanakan fungsi biasa dan mengendalikan tugas perantaraan seperti pengesahan, pengelogan, pengendalian ralat, dsb.
  • Middleware boleh digunakan pada keseluruhan aplikasi atau ditentukan untuk laluan tertentu.
  • Setiap middleware menerima parameter req (permintaan) dan res (respons) dan boleh melakukan pemprosesan, menghantar permintaan kepada middleware seterusnya atau menamatkan pemprosesan dengan menghantar respons kepada klien.

Contoh menggabungkan Routing dan Middleware dalam Express:

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

// Middleware
const loggerMiddleware = (req, res, next) => {
  console.log('A new request has arrived!');
  next();
};

// Apply middleware to the entire application
app.use(loggerMiddleware);

// Main route
app.get('/', (req, res) => {
  res.send('Welcome to the homepage!');
});

// Another route
app.get('/about', (req, res) => {
  res.send('This is the about page!');
});

// Start the server
app.listen(3000, () => {
  console.log('Server is listening on port 3000...');
});

Dalam contoh ini, kami telah menentukan perisian tengah tersuai loggerMiddlewareuntuk log setiap permintaan baharu yang datang ke pelayan. Perisian tengah ini digunakan pada keseluruhan aplikasi menggunakan app.use()kaedah. Kemudian, kami telah menentukan dua laluan, satu untuk halaman utama ( '/') dan satu lagi untuk halaman tentang ( '/about'). Akhirnya, kami memulakan pelayan dan mendengar pada port 3000.

Perisian tengah loggerMiddlewareakan dilaksanakan untuk setiap permintaan, mengelog mesej ke konsol sebelum menghantar permintaan kepada pengendali laluan atau perisian tengah yang sepadan dalam jujukan.

Gabungan penghalaan dan perisian tengah ini membolehkan kami mengendalikan permintaan yang berbeza dan melaksanakan tugas biasa dengan cekap dalam aplikasi Express.