我想对特定的路由进行密码保护,并想向每条路由添加一个元数据,如下所示:
{
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
目录中,以避免路由自动生成。