gridsome在哪里添加路由器元数据



我想对特定的路由进行密码保护,并想向每条路由添加一个元数据,如下所示:

{
path: '/route-path',
name: 'route-name',
component: ComponentName,
meta: {
requiresAuth: true
}
}

所以我可以在中查看

router.beforeEach((to, from, next)

我可以访问main.js中的router.beforeEach,但在哪里可以为每个路由添加auth标志?gridsome.config.js似乎不起作用?

虽然目前还没有文档,但您可以使用创建页面API并向其传递route属性,例如。。。

src/pages.js

module.exports = [
{
path: '/',
route: {
name: 'index',
meta: {
requiresAuth: false
}
},
component: './src/views/Index.vue'
}
]

gridsome.server.js

const pages = require('./src/pages')
module.exports = function (api) {
api.createPages(({ createPage }) => {
for (const page of pages) {
createPage(page)
}
})
}

我还将页面组件移到了src/views目录中,以避免路由自动生成。

最新更新