Nodeでよく使われるミドルウェア


nodeの学習過程で多くの使いやすい中間部品が蓄積された.これらのミドルウェアの大部分はkoaを組み合わせて使用しなければならない.
1、koa-bodyparser
このプラグインは、フロントエンドpostリクエストによるパラメータを解析するために使用されます.
//    
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のみである.request.bodyはパラメータを取得できます.1つ目よりずっと便利です.
2、koa-body
このプラグインは、要求にアップロードされたファイルやファイル情報、例えば画像過zipファイルを取得するために使用されます.
const koaBody    = require('koa-body')
app.use(koaBody({
        multipart: true,
        formidable: {
            maxFileSize: 20 * 1024 * 1024    //             ,  2M
        }
    }))

リクエストの処理においてctxを直接通過することができる.request.filesはアップロードされたすべてのファイルの情報を取得できます.
注意!!!koa-bodyを使用するとkoa-bodyparserを使用すると競合してフロントエンドのpostリクエストが返されるstatusコードがcanceledになります.
3、静的資源管理器koa-static
ローカルテストの時、私は1枚の画像をアップロードして、それから画像の住所を印刷して長い列のc:///.../name/.png、これでローカルでアクセスできますが、サーバに置くと通じません!koa-staticを導入することで、プロジェクトパス上のフォルダに静的ファイルアドレスを指定し、koaで傍受するポートで直接http://192.168.0.177:3030/name.png画像にアクセスできます
const koaStatic  = require('koa-static')
app.use(koaStatic('./public'))//             

4、cors、koa-cors、koa-cors 2セット要求ヘッダ
これらのミドルウェアの基本は、ドメイン間およびリクエストヘッダを構成するための情報です.
const cors       = require('koa2-cors') 
app.use(cors({
    exposeHeaders: ['multipart/form-data','application/x-www-form-urlencoded']
}))

自分でパラメータを設定もよいし、パラメータを設定することなく直接appするもよい.use(cors()はドメインにまたがることができます.
ここでドメイン間といえば、オリジナルnodeドメイン間の設定方法(リクエストヘッダの各種構成も同様に設定可能)について説明する.
app.use(async (ctx, next) => {
   ctx.set('Access-Control-Allow-Origin', ctx.headers.origin)//'*'      
   ctx.set('Access-Control-Allow-Credentials', 'true')
   ctx.set('Access-Control-Allow-Headers', 'Origin ,multipart/form-data, X-Requested-With, Content-Type, Accept')
   await next()
})

后続はどんな使いやすいミドルウェアに出会ったら记录します!!!