Kem Intensif Pembangunan Backend Node.js · Pelajaran

Penghalaan dan Perisian Tengah dalam Express

Kuasai penghalaan Express untuk mentakrifkan titik akhir API dan melaksanakan perisian tengah bagi pemprosesan permintaan.

Pelajaran 2 daripada 411 langkah

Penghalaan dan Perisian Tengah dalam Express ialah pelajaran Kem Intensif Pembangunan Backend Node.js percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif Pembangunan Backend Node.js, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif Pembangunan Backend Node.js merangkumi sejumlah 4 pelajaran.

Menghala API Express Anda

Selamat kembali! Dalam pelajaran ini, kita akan mendalami penghalaan dan perisian tengah dalam Express. Ini ialah konsep teras untuk membina aplikasi web yang berkuasa dan tersusun.

Penghalaan membantu pelayan anda memahami perkara yang perlu dilakukan apabila menerima permintaan yang berbeza, seperti memaparkan profil pengguna atau menyimpan data baharu.

Menentukan Laluan Asas

Laluan memberitahu aplikasi Express anda cara bertindak balas terhadap jenis permintaan tertentu ke laluan URL tertentu. Anda menentukan laluan menggunakan kaedah seperti app.get(), app.post(), app.put() dan app.delete().

Setiap kaedah laluan menerima laluan dan fungsi pengendali yang dilaksanakan apabila laluan itu sepadan.

Contoh Laluan GET Pertama

Mari cipta laluan GET mudah yang bertindak balas terhadap permintaan pada URL akar (/). Ini biasanya ialah halaman utama atau semakan status API asas anda.

Fungsi pengendali menerima objek req (permintaan) dan res (respons).

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

app.get('/', (req, res) => {
  res.send('Hello from our Express API!');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

Mengendalikan Parameter Laluan Dinamik

Sering kali, anda perlu mendapatkan nilai dinamik daripada URL, seperti ID pengguna. Hal ini dilakukan dengan parameter laluan, yang ditandakan dengan titik bertindih (:) dalam laluan.

Anda boleh mengakses parameter ini melalui objek req.params dalam pengendali laluan anda.

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

app.get('/users/:userId', (req, res) => {
  const userId = req.params.userId;
  res.send(`You requested user ID: ${userId}`);
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

Apakah Perisian Tengah?

Fungsi perisian tengah ialah fungsi yang mempunyai akses kepada objek permintaan (req), objek respons (res) dan fungsi perisian tengah seterusnya dalam kitaran permintaan-respons aplikasi.

Fungsi ini boleh:

  • Melaksanakan sebarang kod.
  • Membuat perubahan pada objek permintaan dan respons.
  • Menamatkan kitaran permintaan-respons.
  • Memanggil fungsi perisian tengah seterusnya dalam tindanan.

Fungsi 'next()'

Kunci kepada perisian tengah ialah fungsi next(). Jika fungsi perisian tengah tidak menamatkan kitaran permintaan-respons (contohnya, dengan memanggil res.send()), fungsi itu mesti memanggil next() untuk menyerahkan kawalan kepada fungsi perisian tengah atau pengendali laluan seterusnya.

Jika next() tidak dipanggil, permintaan akan tergantung.

Perisian Tengah Peringkat Aplikasi

Anda boleh menggunakan perisian tengah secara global pada semua permintaan dengan app.use(). Ini berguna untuk tugas seperti mencatat log, menghuraikan isi JSON atau menetapkan pengepala umum.

Mari kita cipta pencatat log ringkas yang berjalan untuk setiap permintaan masuk.

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

// Application-level middleware
app.use((req, res, next) => {
  console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
  next(); // Don't forget to call next()
});

app.get('/', (req, res) => {
  res.send('Check your server console for the log!');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

Perisian Tengah Peringkat Laluan

Kadang-kadang, anda hanya mahu perisian tengah dijalankan untuk laluan tertentu. Anda boleh menggunakan perisian tengah peringkat laluan dengan menghantarnya sebagai argumen sebelum fungsi pengendali laluan.

Anda juga boleh merangkaikan beberapa fungsi perisian tengah untuk satu laluan.

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

// A simple authentication middleware
const isAuthenticated = (req, res, next) => {
  if (req.headers.authorization === 'Bearer mysecrettoken') {
    next(); // User is authenticated, proceed
  } else {
    res.status(401).send('Unauthorized: Invalid token');
  }
};

// Apply isAuthenticated middleware only to this route
app.get('/dashboard', isAuthenticated, (req, res) => {
  res.send('Welcome to the protected dashboard!');
});

app.get('/', (req, res) => {
  res.send('Public content here.');
});

app.listen(port, () => {
  console.log(`Server running on http://localhost:${port}`);
});

Kegunaan Umum Perisian Tengah

Perisian tengah sangat serba boleh. Berikut ialah beberapa kegunaan umum:

  • Pengesahan/Kebenaran: Menyemak kelayakan atau keizinan pengguna.
  • Pencatatan Log: Merekod butiran permintaan untuk penyahpepijatan atau pemantauan.
  • Penghuraian Isi: Mengekstrak data JSON atau data berkod URL daripada isi permintaan (contohnya, express.json()).
  • Pengendalian Ralat: Menangkap dan memberikan respons terhadap ralat (jenis perisian tengah khas).
  • Pengesahan Input: Memastikan data permintaan memenuhi kriteria tertentu.

Semakan Perisian Tengah & Penghalaan

Mari uji pemahaman anda tentang penghalaan dan perisian tengah Express!

Ulang Kaji: Penghalaan & Perisian Tengah

Tahniah! Anda telah mempelajari cara Express menggunakan penghalaan untuk mengarahkan permintaan kepada pengendali tertentu berdasarkan laluan URL dan kaedah HTTP.

Anda juga telah menguasai perisian tengah, iaitu fungsi berkuasa yang boleh memintas dan memproses permintaan pada pelbagai peringkat, sama ada secara global dengan app.use() atau untuk laluan tertentu. Memahami konsep ini penting untuk membina aplikasi Express yang teguh!

Percuma untuk bermula

Pelajari JavaScript dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
22
Pelajaran
92

Soalan Lazim

Adakah pelajaran “Penghalaan dan Perisian Tengah dalam Express” percuma?

Ya — teks penuh “Penghalaan dan Perisian Tengah dalam Express” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Kem Intensif Pembangunan Backend Node.js, tingkat taraf kepada CoddyKit PRO. Kursus Kem Intensif Pembangunan Backend Node.js merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Penghalaan dan Perisian Tengah dalam Express”?

Kuasai penghalaan Express untuk mentakrifkan titik akhir API dan melaksanakan perisian tengah bagi pemprosesan permintaan. Anda berlatih Kem Intensif Pembangunan Backend Node.js menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif Pembangunan Backend Node.js?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif Pembangunan Backend Node.js di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Penghalaan dan Perisian Tengah dalam Express” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif Pembangunan Backend Node.js ini?

Ya. Setiap pelajaran Kem Intensif Pembangunan Backend Node.js menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas Rangka Kerja Express.js
  2. Penghalaan dan Perisian Tengah dalam Express
  3. Mereka Bentuk Titik Akhir API RESTful
  4. Mengendalikan Data Permintaan: Badan, Pertanyaan dan Parameter
← Kembali ke Kem Intensif Pembangunan Backend Node.js