expressとkoaの比較

2890 ワード

Nodejsを話します
        Nodejsは誕生から発展まで、15年末に4.0版が発表されてから、先月末までの10.0版が正式に発表されてから3年が経っていません.Nodejsコミュニティの盛んな発展と開発者達のNodejsに対する重視を証明するには十分です.この過程で言わなければならないのはExpress、Kooaの枠組みです.それらは同じ作者TJ-nodeの輪の中の伝奇的な人物から来ています.Nodejsの発展の時期と違って、Ecmascript言語規範の発展の中で前進します.
フレーム
説明
対応
特性
express
ウェブフレーム
es 5
コールバックネスト
コア
ウェブフレーム
es 6
Generator関数+yield文+Promise
koa 2
ウェブフレーム
es 7
async/await+Promise
Expressが誕生する前に、成熟した車輪がなく、Nodejsベースモジュールを通じてアプリケーションを構築する必要があります.
var http = require('http')
http.createServer(function (req, res) {       
    res.writeHead(200, { 'Content-Type': 'text/plain' })
    res.end('Hello World
') }).listen(1337, "127.0.0.1") console.log('Server running at http://127.0.0.1:3000/')
上のコードでハローを完成しました. アプリケーションを開いて構築する道
expressについて話します
绝えない竞争の中でExpressは胜ち抜いて出てきて、E
xpress--NodeJSプラットフォームに基づいて、快速、開発、極めて簡単なウェブ開発フレーム、
これはExpressの公式説明から来ています.
Expressはappicationを含みます. request レスポンス routerの四大モジュールです.
ExpressはNodeJSに基づいて二次抽象を完成し、パッケージ処理の詳細を向上させてウェブアプリケーションを構築するために豊富なモジュール方法を提供します.この開発者はこれらの機能方法によって中間部品を開発し、拡張してWebアプリケーションを構築します.二つの枠組みの中で最初の誕生者として、長い間の発展と完備を経て、Expressはもっと成熟して、資料が豊富です.nodeサークルではDomライブラリのJquery版のような存在ですが、上記の表のように、ExpressはEs 5文法に基づいて、リフレクトロジック(jQueryのajax法のような類比)を通じて、リフレクションのハードダメージは組み合わせ不能であり、捕獲困難であり、複雑なロジックには大量のリフレクトネストが含まれます.しかし、ExpressはNodeJSの枠組みの中の古典としても十分です.現在はEs 6、Es 7が盛んに行われています.関連する3つのライブラリを通じてPromiseまたはAync/Awaitを完備して補填できます.
var express = require('express')
var app = express()
app.get('/', function (req, res) {  
	res.send('Hello World!')
})
var server = app.listen(3000, function () {  
	var host = server.address().address
	var port = server.address().port
	console.log('Example app listening at http://%s:%s', host, port)
})
話をします
            Kooa はい、そうです Express もとのクラスの人たちが作ったのはもっと小さくて、表現力に富んで、もっと丈夫な人になるために努力しています. Web フレーム. 使用 Kooa 編纂する web アプリケーションは、組み合わせによって異なります. Generatorは、煩雑なコールバック関数の入れ子を免除できます. そして、エラー処理の効率を大幅に向上させます.Kooa カーネル法にはどの中間部品も結合しないでください. 軽量で優雅な関数ライブラリを提供しています. Web 応用が手頃になる.
これはKooから来ました 官辺筋の説明
Kooa にも4つの主要モジュールが含まれています.Application、Request、Reponse、Contect.
Kooa 基本フレームとして位置付けられていますが、Expressよりも小さく、ほぼすべての機能が中間部品によって完成されています.対応するRouterモジュールはコアモジュールから取り除かれ、中間部品の形で統合される必要があります. の3つのrouterモジュールは、20以上の種類があります.開発者は、必要に応じてモジュールを統合したり、自分のモジュールをカプセル化したりして、アプリケーションを構築するために使用できます. ほとんど何の制限もなく自由に自分のアプリケーションを構築します. Esmasascript規格に従ってExpressの痛みを解決して、世代のgenerator関数から二世代のAync/Awaitまで、人気があります.
const Koa = require('koa')
const app = new Koa()
app.use(async ctx => {  
	ctx.body = 'Hello World'
})
app.listen(3000)
関連リンク:
Nodejs公式サイト:
http://nodejs.cn/api/assert.html
公式サイト:
https://koa.bootcss.com/
express公式サイト:
http://www.expressjs.com.cn/