nuxtrouter.js自动更新如何防止这种情况发生



我有一个nuxt项目。在.nuxt文件中有一个router.js文件,当我想像这样添加我自己的代码时:

routes: [{
path: "/ingelogd",
component: _0716b7e1,
name: "ingelogd",
meta: {requiresAuth: true}
}]
router.beforeEach((to, from, next)=> {
const requiresAuth = to.matched.some(record => record.meta.requiresAuth);
const isAuthenticated = firebase.auth().currentUser;
if(requiresAuth && !isAuthenticated) {
next("/reserveren")
} else {
next()
}
})

它会自动将代码更新为:

routes: [{
path: "/ingelogd",
component: _0716b7e1,
name: "ingelogd",
}]

有人知道问题出在哪里吗?请告诉我。

您不应该编辑.nuxt目录中的任何文件,以下是有关它的文档。

你应该使用路由器中间件来执行这种逻辑,看看吧!

您不应该修改.nuxt目录中的任何文件。在这种情况下,您应该使用中间件,在项目根目录中的middleware文件夹中添加名为auth.js的文件,内容如下:

export default function ({ app,route }) {

app.router.beforeEach((to, from, next)=> {
const requiresAuth = to.matched.some(record => record.meta.requiresAuth);
const isAuthenticated = firebase.auth().currentUser;
if(requiresAuth && !isAuthenticated) {
next("/reserveren")
} else {
next()
}
})
}

然后,在您的nuxt.config.js中添加:

router: {
middleware: 'auth'
}

相关内容

最新更新