中间件可以使您的自定义的函数在渲染页面之前运行
所有的中间件都必须放置在middleware/
目录下。文件名将作为中间件的名称(如:middleware/auth
将成为中间件auth
)。
中间件收到上下文作为第一个参数︰
export default function (context) {
context.userAgent = context.isServer ? context.req.headers['user-agent'] : navigator.userAgent
}
中间件将按照此顺序在序列中执行:
nuxt.config.js
匹配的布局
匹配的页面
中间件可以是异步的,仅返回一个Promise
或者使用第二个callback
返回值:middleware/stats.js
import axios from 'axios'
export default function ({ route }) {
return axios.post('http://my-stats-api.com', {
url: route.fullPath
})
}
然后,在nuxt.config.js
,布局或者页面中,配置middleware
参数nuxt.config.js
module.exports = {
router: {
middleware: 'stats'
}
}
中间件stats
将在每次路由改变时被调用。
想了解中间件的例子,请移步example-auth0
郑重声明!英文极差,纯属看不懂文档自己整理,翻译如有问题请各位大神指教。如有不服,你来打我呀?