Nodeでよく使われるミドルウェア
nodeの学習過程で多くの使いやすい中間部品が蓄積された.これらのミドルウェアの大部分はkoaを組み合わせて使用しなければならない.
1、koa-bodyparser
このプラグインは、フロントエンドpostリクエストによるパラメータを解析するために使用されます.
koa-bodyparserを導入する場合はctxしか通過できない.req.on('data',callback)はパラメータを取得するためにミドルウェアを導入した後ctxのみである.request.bodyはパラメータを取得できます.1つ目よりずっと便利です.
2、koa-body
このプラグインは、要求にアップロードされたファイルやファイル情報、例えば画像過zipファイルを取得するために使用されます.
リクエストの処理において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画像にアクセスできます
4、cors、koa-cors、koa-cors 2セット要求ヘッダ
これらのミドルウェアの基本は、ドメイン間およびリクエストヘッダを構成するための情報です.
自分でパラメータを設定もよいし、パラメータを設定することなく直接appするもよい.use(cors()はドメインにまたがることができます.
ここでドメイン間といえば、オリジナルnodeドメイン間の設定方法(リクエストヘッダの各種構成も同様に設定可能)について説明する.
后続はどんな使いやすいミドルウェアに出会ったら记录します!!!
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()
})
后続はどんな使いやすいミドルウェアに出会ったら记录します!!!