ホームページ >ウェブフロントエンド >フロントエンドQ&A >コアとノードの関係は何ですか?
#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。koa は、Node.js プラットフォームに基づく Web 開発フレームワークであり、「node v7.6.0」または ES2015 以降のバージョンと非同期メソッドのサポートに依存しています。Koa はミドルウェアをバンドルしていませんが、A セットを提供します。ユーザーがサーバー側アプリケーションを迅速かつ楽しく作成できるよう支援するエレガントなメソッドを提供します。
Koa -- Node.js プラットフォームに基づく次世代 Web 開発フレームワーク
Koa は、Express の背後にある元のチームによって作成された、専用の新しい Web フレームワークです。 Web アプリケーションおよび API 開発における、より小さく、より表現力豊かで、より堅牢な基盤となるように設計されています。 Koa は、非同期関数を利用することにより、コールバック関数を破棄し、エラー処理を大幅に強化するのに役立ちます。 Koa にはミドルウェアはバンドルされていませんが、サーバー側アプリケーションを迅速かつ快適に作成できるようにする一連のエレガントなメソッドが提供されています。 Koa は、Express の設計上の欠陥を解決するために生まれました。そのミドルウェアは async 関数を通じて記述できます。await next() はミドルウェアの実行を中断し、後続のすべてのミドルウェアが実行されるまで待ってから実行できます。オニオン モデルは await next() を通じて実装できます。 もう 1 つの機能は、リクエストとレスポンスの処理が簡略化されていることです。両方とも ctx にマウントされて使用されます。返されたコンテンツは、次のような直接割り当てを通じて使用することもできます: ctx.response.body = fs .createStream (「really_large.xml」)。 また、Koa では、ミドルウェアによって実装されているルーティング機能を省略しており、これはマイクロカーネルのミニマリズム的な考え方です。 コア関数 (Koa のドキュメント ):
インストール
Koa はノード v7.6.0 または ES2015 以降と非同期メソッドのサポートに依存します。お気に入りのバージョン マネージャーは、サポートされているノード バージョンを迅速にインストールします。$ nvm install 7 $ npm i koa $ node my-koa-app.js
Babel を使用して非同期メソッドを実装する
ノード 7.6 バージョン未満の Koa で非同期メソッドを使用するには、次のようにします。 babel の require フックを使用することをお勧めします。require('babel-register'); // 应用的其余 require 需要被放到 hook 后面 const app = require('./app');非同期メソッドを解析してコンパイルするには、少なくともtransform-async-to-generatorまたはtransform-async-to-module-methodプラグインが必要です。たとえば、.babelrc ファイルには次のようにする必要があります:
{ "plugins": ["transform-async-to-generator"] }代わりに、環境プリセットのターゲット パラメータ「node」:「current」を使用することもできます。 #Application
Koa アプリケーションは、スタックのような方法で編成および実行される一連のミドルウェア関数を含むオブジェクトです。 Koa は、Ruby の Rack、Connect など、これまでに遭遇したことがある他の多くのミドルウェア システムに似ています。ただし、重要な設計ポイントは、低レベルのミドルウェア層に高レベルの「糖衣構文」を提供することです。これにより、相互運用性と堅牢性が向上し、ミドルウェアの作成がより楽しくなります。
これには、コンテンツ ネゴシエーション、キャッシュ クリーニング、プロキシ サポート、リダイレクトなどの一般的なタスクのメソッドが含まれます。非常に多くの便利なメソッドを提供しているにもかかわらず、Koa はミドルウェアがバンドルされていないため、依然として小さいサイズを維持しています。
必要な hello world アプリケーション:
const Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'Hello World'; }); app.listen(3000);
ノード関連の詳細については、
nodejs チュートリアル以上がコアとノードの関係は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。