Rumah > hujung hadapan web > tutorial js > Pengenalan kepada Koa.js: Rangka Kerja Ringan untuk Apis & Aplikasi Web

Pengenalan kepada Koa.js: Rangka Kerja Ringan untuk Apis & Aplikasi Web

Mary-Kate Olsen
Lepaskan: 2025-01-25 18:31:10
asal
701 orang telah melayarinya

Intro to Koa.js: A Lightweight Framework for APIs & Web Apps

KOA adalah kerangka middleware moden yang ringan yang dibangunkan oleh pasukan Express.js, yang membolehkan kami menggunakan fungsi middleware tak segerak.

Aplikasi Contoh

di sini kami membuat contoh KOA dan menubuhkan middleware untuk kembali "Hello" untuk setiap permintaan.
<code class="language-javascript">const Koa = require('koa');
const app = new Koa();

app.use(async function(ctx) {
  ctx.body = 'Hello';
});

app.listen(3000);</code>
Salin selepas log masuk
Salin selepas log masuk

Ciri -ciri

tatabahasa moden

Sokongan Asynchronous/Menunggu Middleware.
  • ringan, hanya kira -kira 570 baris.
  • sifar mengikat middleware.
    • objek konteks (CTX), ganti (req, res)
    middleware (CTX, Seterusnya)
    • kesilapan yang lebih baik
  • Apa itu middleware?
  • Bahagian pertengahan adalah fungsi yang menerima permintaan HTTP dan mungkin menjawab permintaan semasa kitaran permintaan/tindak balas. Ia juga boleh memanggil middleware seterusnya dalam senarai. Ini adalah contoh.

bahagian tengah bahagian pertengahan membolehkan kita menentukan pelbagai fungsi middleware dan melaksanakannya dalam urutan definisi. Anda mungkin perasan parameter seterusnya dalam contoh di atas. Ia adalah fungsi yang menghantar kawalan ke middleware seterusnya apabila dipanggil.

Gunakan fungsi asynchronous untuk membolehkan kami melakukan operasi tertentu menggunakan menunggu di bahagian tengah.
<code class="language-javascript">async function exampleMiddleware(ctx, next) {
  // 从 ctx(上下文)读取请求数据
  // 更多逻辑
  // 设置 ctx.body 作为响应

  // 调用下一个中间件
  await next();

  // 在调用 next 之后,由于使用了 await 语法,我们可以做更多的事情。
  // 例如记录所花费的时间
}

// 设置中间件
app.use(exampleMiddleware);</code>
Salin selepas log masuk
Salin selepas log masuk

Jika anda tidak perlu dilaksanakan lebih lanjut, tidak perlu memanggil seterusnya. Sebagai contoh, pertimbangkan middleware pengesahan. Jika pengguna telah log masuk, hubungi seterusnya, jika tidak, halaman log masuk dipaparkan.

Seperti yang anda lihat, perintah middleware juga penting.

KOA CONTEXT (CTX)
<code class="language-javascript">// 身份验证中间件
app.use(async (ctx, next) => {
  if(user){
    // 调用列表中的下一个中间件
    await next();
  } else {
    // 显示登录页面
  }
});

// Hello 中间件
app.use(async (ctx) => {
  ctx.body = 'Hello';
});</code>
Salin selepas log masuk
Salin selepas log masuk

Setiap middleware menerima dua parameter. Yang pertama ialah konteks (disingkat sebagai CTX) dan seterusnya.

CTX mengandungi atribut dari permintaan. Di samping itu, ia juga mengandungi setter tetapan yang boleh bertindak balas terhadap permintaan.

Berikut adalah senarai atribut biasa. Anda boleh mencari senarai penuh di sini.

cara melaksanakan tugas biasa --------------------------

tambah bahagian tengah

Gunakan app.use -document. Sila ambil perhatian bahawa perintah middleware adalah penting.

<code class="language-javascript">const Koa = require('koa');
const app = new Koa();

app.use(async function(ctx) {
  ctx.body = 'Hello';
});

app.listen(3000);</code>
Salin selepas log masuk
Salin selepas log masuk

mulakan pelayan

Gunakan app.listen -document.

<code class="language-javascript">async function exampleMiddleware(ctx, next) {
  // 从 ctx(上下文)读取请求数据
  // 更多逻辑
  // 设置 ctx.body 作为响应

  // 调用下一个中间件
  await next();

  // 在调用 next 之后,由于使用了 await 语法,我们可以做更多的事情。
  // 例如记录所花费的时间
}

// 设置中间件
app.use(exampleMiddleware);</code>
Salin selepas log masuk
Salin selepas log masuk

tetapkan teks respons

Gunakan ctx.body setter -document.

<code class="language-javascript">// 身份验证中间件
app.use(async (ctx, next) => {
  if(user){
    // 调用列表中的下一个中间件
    await next();
  } else {
    // 显示登录页面
  }
});

// Hello 中间件
app.use(async (ctx) => {
  ctx.body = 'Hello';
});</code>
Salin selepas log masuk
Salin selepas log masuk

menetapkan semula ke arah

Gunakan ctx.redirect -document.

<code class="language-javascript">app.use(middlewareFunction1);
app.use(middlewareFunction2);
app.use(middlewareFunction3);</code>
Salin selepas log masuk
rawatan ralat

ctx.throw -document.

bagaimana membina aplikasi lengkap
<code class="language-javascript">app.listen(3000);</code>
Salin selepas log masuk

KOA menyediakan rangka kerja middleware dan CTX yang boleh digunakan di bahagian tengah. Ia tidak mengandungi sebarang middleware yang dibundel.

Untuk membina aplikasi lengkap, kita perlu menggunakan middleware yang disediakan oleh komuniti KOA. Berikut adalah senarai middleware biasa.

router
    parser utama
  • perakam log
  • peranti rendering ejs
  • Anda boleh melayari Koa GitHub untuk mendapatkan lebih banyak middleware yang tersedia.
Kesimpulan

KOA adalah kerangka web moden yang hebat untuk membina API dan aplikasi web. Anda boleh membaca lebih banyak dokumen di laman web KOA.

Atas ialah kandungan terperinci Pengenalan kepada Koa.js: Rangka Kerja Ringan untuk Apis & Aplikasi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan