ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノードミドルウェアとは何ですか?
ノード ミドルウェアには次のものが含まれます: 1. koa-bodyparser; 2. koa-body; 3. 静的リソース マネージャー koa-static; 4. cors; 5. koa-cors; 6. koa-cors2 設定リクエスト 待ちます。
この記事の動作環境: Windows 7 システム、nodejs バージョン 10.16.2、Dell G3 コンピューター。
ノードミドルウェアとは何ですか?
ノードミドルウェアの種類:
ノードミドルウェアは、プログラム内にカプセル化された http リクエストを処理する機能です。ノードのミドルウェアはパイプラインで実行されます。ミドルウェアはクライアント/サーバー オペレーティング システムの上に位置し、コンピューター リソースとネットワーク通信を管理します。
ミドルウェアは主要な論理ビジネスを提供し、アプリケーション レベルのミドルウェア、ルーティング レベルのミドルウェア、組み込みミドルウェア、サードパーティ ミドルウェア、およびエラー レベルのミドルウェアに分類できます。
node でよく使われるミドルウェア:
node を学習する過程で、便利なミドルウェアをたくさん蓄積してきました。これらのミドルウェアのほとんどは、koa
1、koa-bodyparser
とともに使用する必要があります。このプラグインは、フロントエンドのポストリクエスト
//入口文件 const bodyParser = require('koa-bodyparser'); app.use(bodyParser({//设置可以接收的数据类型 enableTypes:['json', 'form', 'text'] })) async function (ctx) { console.log(ctx.request.body) ctx.req.on('data',(data) => { console.log(JSON.parse(data),'文件') }) }#によってもたらされるパラメータを解析するために使用されます。 ## は導入されていません koa-bodyparser の場合は ctx.req.on('data',callback) でしかパラメータが取得できません ミドルウェア導入後は ctx さえあればパラメータが取得可能です.リクエスト.ボディ。最初のものよりもはるかに便利です。 2. koa-bodyこのプラグインは、写真や zip ファイルなど、リクエストでアップロードされたファイルとファイル情報を取得するために使用されます。リクエストの処理中に使用されます。アップロードされたすべてのファイルに関する情報は、ctx.request.files を通じて直接取得できます。 ######知らせ! ! ! koa-body を使用した後は、koa-bodyparser を使用しないでください。競合が発生し、フロントエンドの POST リクエストによって返されるステータス コードがキャンセルされます。3. 静的リソース マネージャー koa-static
はローカルでテストされました。そのとき、画像をアップロードし、画像のアドレスを c://.../name/.png という長い文字列で出力しました。ローカルでアクセスすることはできますが、サーバー上に配置すると機能しません。 koa-static を導入すると、プロジェクト パス上のフォルダーに静的ファイル アドレスを指定し、koa によって監視されているポート (http://192.168.0.177:3030/name) を介してイメージに直接アクセスできます。 .png
const koaBody = require('koa-body') app.use(koaBody({ multipart: true, formidable: { maxFileSize: 20 * 1024 * 1024 // 设置上传文件大小最大限制,默认2M } }))4、cors、koa-cors、koa-cors2 リクエスト ヘッダーの設定私は基本的にこれらのミドルウェアを使用して、クロスドメインとリクエスト ヘッダー情報を構成します
const koaStatic = require('koa-static') app.use(koaStatic('./public'))//括号中是设置的静态文件路径パラメーターを自分で設定することも、クロスドメインにパラメーターを設定せずに app.use(cors()) を直接適用することもできます。 ここでクロスドメインといえば、ネイティブノードのクロスドメイン設定方法について触れておきます(リクエストヘッダーの各種設定も可能です)
const cors = require('koa2-cors') app.use(cors({ exposeHeaders: ['multipart/form-data','application/x-www-form-urlencoded'] }))何か便利なものがあれば将来的にはミドルウェアが再び記録します。 ! ! 推奨学習: 「
node.js ビデオ チュートリアル
」以上がノードミドルウェアとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。