Nuxt - .nuxt 文件夹下 router.js 自动更新重置还原代码(.nuxt 文件夹内的文件自动还原代码)

前言

第一次接触 Nuxt.js 项目的朋友,打开 .nuxt 文件夹内的文件改了点东西,比如路由、默认模板等,但是发现刷新编译后自动就把代码还原为初始状态了,这让人很费解。

那么问题来了,比如我想给路由(.nuxt > router.js)这块,添加一些自己的逻辑,

但每次都自己还原,该怎么办呢?先来看下面的示例:

// 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()
  }
})

解决方案

您不必修改 .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'
}

SEO

Nuxt - .nuxt 文件夹下 router.js 自动更新重置(.nuxt 文件夹内的文件自动还原代码),nuxtrouter.js自动更新如何防止这种情况vuejs/nuxtjs:使用新参数更新url会将所有数据重置为初始值,nuxt路由自动重置怎么办,.nuxt 文件夹内 router.js 改了就重新变回去,.nuxt 自己还原代码,router.js 自动还原代码怎么办?

猜你喜欢

转载自blog.csdn.net/weixin_44198965/article/details/126386466