Итак, я создаю веб-сайт, который использует authentification
с tokens
.Я использую функцию beforeEach()
из vue-router
, чтобы проверить, действителен ли токен.Все работало нормально, пока по ошибке я не удалил package.json
.Я попытался создать еще одну со всеми зависимостями, которые я помню (в любом случае их было не слишком много), но теперь, когда я пытаюсь Login
или Logout
, вместо перенаправления меня на домашнюю страницу или страницу регистрации, он возвращаетошибка 404 Not Found
page.
И одна вещь, которую я заметил, это то, что она регистрирует меня, я вижу, что после того, как я иду один на домашней странице.Но он должен перенаправить меня .. не возвращать ошибку 404 ..
Кто-нибудь знает, в чем может быть проблема?
Вот мой код vue-router:
import Vue from "vue";
import Router from "vue-router";
import Home from "./components/Home.vue";
Vue.use(Router);
let router = new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
name: "home",
component: Home
},
{
path: "/login",
name: "login",
component: () =>
import("./components/Login.vue"),
meta: {
requiresGuest: true
}
},
{
path: "/register",
name: "register",
component: () =>
import("./components/Register.vue"),
meta: {
requiresGuest: true
}
},
{
path: "/add-match",
name: "add-match",
component: () =>
import("./components/AddMatch.vue"),
meta: {
requiresAuth: true
}
},
{
path: "/show-matches",
name: "show-matches",
component: () =>
import("./components/ShowMatches.vue"),
meta: {
requiresAuth: true
}
}
]
});
// Nav Guards
router.beforeEach((to, from, next) => {
// Check for requiredAuth guard
if(to.matched.some(record => record.meta.requiresAuth)) {
// Check if NOT logged in
if(!localStorage.token) {
next({
path: '/login',
query: {
redirect: to.fullPath
}
})
} else {
next();
}
} else if(to.matched.some(record => record.meta.requiresGuest)) {
// Check if logged in
if(localStorage.token) {
// Go to login
next({
path: '/',
query: {
redirect: to.fullPath
}
})
} else {
next()
}
} else {
// Proceed to route
next()
}
})
export default router;
Заранее спасибо.