KOA ExpressはWebベースのNode.jsフレームワークの次の世代である、二つのバージョン1.1および2.0があります。
歴史
1.エクスプレス
Expressは、それは次のように一緒に、Node.jsのHTTPパッケージであり、最も人気のあるWebフレームワークの第一世代であります:
「厳格な使用」のvar =は(「発現」必要エクスプレス)。 VaRのアプリ= エクスプレス()。 app.get( '/'、機能(REQ、RES){ res.send( 'こんにちは、世界!' ); }); app.listen( 3000、関数(){ にconsole.log( 'ポート3000をリッスン例アプリ!' ); }); // 可以在http://127.0.0.1:3000访问
コールバック:ExpressのAPIは非常にシンプルですが、それは文法ES5に基づいているが、非同期コード、唯一の方法を実現しています。あまりにも非同期のネストレベルならば、コードを記述することは非常に醜いです。
あなたは非同期非同期コードが、非同期コールバックライトとを整理するために、このライブラリを使用することができますがとても痛いです!
2. 1.0
Node.jsのサポートES6の新バージョンを開始すると、Expressのチームは、Webベースの発電機ES6の再書かれた次世代フレームワークKOAを持っています。Expressと比べて、非同期の発電機を使用して1.0 KOA、同期コードは次のようになります。
VaRの KOAは=( 'KOA'要する;) VARアプリ= KOAを(); app.use( '/テスト'、関数 * (){ 収率doReadFile1(); VARのデータ= 収率doReadFile2を(); この .body = データ。 }); app.listen( 3000 ); //はアクセスすることができるhttp://127.0.0.1:3000
多くの単純な修正よりも、しかし、意図して非同期発電機は、非同期発電機ではありません。約束は非同期設計ですが、言葉遣い......約束は複雑考えます。非同期コードを簡素化するために、ES7(現在はドラフト、まだリリースされていない)は、新しいキーワードを紹介async
し、await
簡単に機能を置くことができる非同期モード次のようになります。
非同期関数(){ VARのデータ=はfs.read( '/ FILE1'を待ちます)。 }
これは、非常にシンプル、使いやすい、将来の標準非同期JavaScriptコードです。
3. koa2
KOAチームはKOA 1.0で停止していない、彼らはES7はkoa2を開発し、KOA 1は、比較、koa2約束とフルに活用して非常に高度基づいてasync
、非同期を実装します。
koa2コードは次のようになります。
app.use(非同期(CTX、次)=> { 待つ次の(); VARのデータ=は、doReadFile()待つ ctx.response.type = 'text / plainの' ; ctx.response.body = データ; });
互換性の理由から、まだ文言をサポートkoa2電流発生器が、次のバージョンが削除されます。
koa2は将来の傾向であります