サーバサイドレンダリングミドルウェア 属性タイプ: ArrayItems: String or Object or Function Nuxtは内部で接続のインスタンスを作成するため、ミドルウェアをスタックに登録し、外部サーバを必要とせずにAPIなどの追加経路を提供する機会を持つことができます。接続自体がミドルウェアであるため、登録されたミドルウェアは nuxt の起動のため、または express-template のようなプログラム的な使い方をするミドルウェアのために使用することができます。addServerMiddleware() を使用してサーバーミドルウェアを設定することもできます。
サーバサイドレンダリングのミドルウェアとミドルウェアの違い!Vueがクライアント側やSSRでルートごとに呼び出すroutesミドルウェアと混同しないでください。serverMiddlewareは、サーバ側で動作するvue-server-rendererにすぎず、APIリクエストの処理やアセットの提供など、サーバ固有のタスクに使用できます。
使用法 ミドルウェアが String の場合、Nuxt.js は自動的に解析しようとします。
例えば
import serveStatic from 'serve-static'
export default {
serverMiddleware: [
// Will register redirect-ssl npm package
'redirect-ssl',
// Will register file from project api directory to handle /api/* requires
{ path: '/api', handler: '~/api/index.js' },
// We can create custom instances too
{ path: '/static2', handler: serveStatic(__dirname + '/static2') }
]
}
ヒント ミドルウェアにすべてのルートを登録させたくない場合、特定のパスを持つオブジェクトを使わなければなりません!
カスタムサーバーサイドレンダリングミドルウェア カスタムミドルウェアを記述することも可能です。詳細は Connect Docs を参照してください。
Middleware (api/logger.js):
export default function (req, res, next) {
// req ノード.js http request
console.log(req.path)
// res ノード.js http response
// nextは次のミドルウェアを呼び出す関数である
// あなたのミドルウェアが最終的な実装でない場合は、最後にnextを呼び出すことをお忘れなく!
next()
}
Nuxt コンフィギュレーション .
serverMiddleware: [
'~/api/logger'
]