Rumah  >  Artikel  >  hujung hadapan web  >  Apakah hubungan antara koa dan nod?

Apakah hubungan antara koa dan nod?

青灯夜游
青灯夜游asal
2021-12-13 11:20:462041semak imbas

koa ialah rangka kerja pembangunan web berdasarkan platform Node.js, bergantung pada "nod v7.6.0" atau ES2015 dan versi yang lebih tinggi serta sokongan kaedah async Koa tidak menggabungkan sebarang perisian tengah, tetapi menyediakan set A kaedah elegan untuk membantu pengguna menulis aplikasi sebelah pelayan dengan cepat dan gembira.

Apakah hubungan antara koa dan nod?

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Koa - rangka kerja pembangunan web generasi akan datang berdasarkan platform Node.js

Koa ialah rangka kerja web baharu yang dicipta oleh pasukan asal di belakang Express, khusus untuk Designed menjadi asas yang lebih kecil, lebih ekspresif dan lebih mantap dalam aplikasi web dan pembangunan API. Dengan memanfaatkan fungsi async, Koa membantu anda membuang fungsi panggil balik dan meningkatkan pengendalian ralat. Koa tidak menggabungkan sebarang perisian tengah, tetapi menyediakan satu set kaedah yang elegan untuk membantu anda menulis aplikasi sebelah pelayan dengan cepat dan gembira.

Koa dilahirkan untuk menyelesaikan beberapa kelemahan reka bentuk Express. Perisian tengahnya boleh ditulis melalui fungsi async await next() boleh mengganggu pelaksanaan middleware dan menunggu sehingga semua middleware berikutnya dilaksanakan sebelum melaksanakannya Model onion boleh dilaksanakan melalui await next().

Ciri lain ialah pemprosesan permintaan dan respons yang dipermudahkan, yang kedua-duanya dipasang pada ctx Kandungan yang dikembalikan juga boleh digunakan melalui tugasan langsung, seperti: ctx.response.body = fs .createStream('. sungguh_besar.xml').

Selain itu, Koa telah memotong fungsi penghalaan, yang dilaksanakan melalui perisian tengah Ini adalah idea minimalis mikrokernel.

Fungsi teras (Dokumentasi Koa):

  • Pemudahan permintaan/tindak balas yang lebih melampau daripada Express, seperti:
    • status ctx = 200
    • ctx.body = 'hello node'
  • Perisian tengah dilaksanakan menggunakan fungsi async.
  • Mempunyai keupayaan untuk "menjeda pelaksanaan".
  • Juga mematuhi model bawang dalam situasi tak segerak.
  • Perkemas kernel dan alihkan semua fungsi tambahan ke middleware.

Pemasangan

Koa bergantung pada nod v7.6.0 atau ES2015 dan lebih tinggi serta sokongan kaedah async.

Anda boleh menggunakan kegemaran anda The pengurus versi dengan pantas memasang versi nod yang disokong:

$ nvm install 7
$ npm i koa
$ node my-koa-app.js

Gunakan Babel untuk melaksanakan kaedah Async

Untuk menggunakan kaedah async dalam nod

require('babel-register');
// 应用的其余 require 需要被放到 hook 后面
const app = require('./app');

Untuk menghuraikan dan menyusun kaedah async, anda sekurang-kurangnya harus mempunyai pemalam transform-async-to-generator atau transform-async-to-module-method.

Sebagai contoh, dalam fail .babelrc anda, anda sepatutnya mempunyai:

{
  "plugins": ["transform-async-to-generator"]
}

Anda juga boleh menggunakan parameter sasaran "nod": "semasa" pratetap env sebaliknya.

Aplikasi

Aplikasi Koa ialah objek yang mengandungi satu set fungsi middleware, yang disusun dan dilaksanakan dalam cara seperti tindanan. Koa adalah serupa dengan banyak sistem middleware lain yang mungkin anda temui, seperti Ruby's Rack, Connect, dsb. Walau bagaimanapun, titik reka bentuk utama ialah menyediakan "sintaktik gula" peringkat tinggi dalam lapisan middleware peringkat rendahnya. Ini meningkatkan kesalingoperasian, keteguhan dan menjadikan perisian tengah menulis lebih menyeronokkan.

Ini termasuk kaedah untuk tugas biasa seperti perundingan kandungan, pembersihan cache, sokongan proksi dan pengalihan semula. Walaupun menyediakan banyak kaedah berguna, Koa masih mengekalkan saiz yang kecil kerana tiada middleware yang digabungkan.

Aplikasi hello world wajib:

const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
  ctx.body = 'Hello World';
});
app.listen(3000);

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !

Atas ialah kandungan terperinci Apakah hubungan antara koa dan nod?. 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