vue.js - 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
目录中以避免路由自动生成。
推荐阅读
- stack - 如何连接到 ws-Server?
- python - Postgres如何从csv文件中插入python字典?
- java - Spring Security 下载文件而不是登录
- python - 不允许迭代 `tf.Tensor`:AutoGraph 确实转换了这个函数
- wordpress - PixelMySite Elementor 冲突错误问题
- ruby - 无法更新 Bundler 版本
- calculator - TI 83 plus如何通过程序使屏幕变暗?
- html - 在现有应用程序中使用额外的 React 组件
- c# - SignalR .net 核心在 Windows 内部网中获取 401 协商请求
- python - Yolov4.conv.137 在 Yolov4 暗网中是什么意思?