Middleware provide a convenient mechanism for inspecting and filtering HTTP requests entering your application. For example, Vuejs includes a middleware that verifies the user of your application is authenticated or not. All of these middleware are located in the src/middleware directory.
Syntax Of Routes.
Create a auth.js file inside middleware folder.
export default function auth(to, from, next) { if(localStorage.getItem("usertoken")){ //this.$forceUpdate(); return next(); }else{ next({ name: "login" }); } }
import Vue from "vue"; import App from "./App.vue"; import VueRouter from "vue-router"; import { ContentLoader } from "vue-content-loader"; import VueRouteMiddleware from "vue-route-middleware"; import AuthMiddleware from "../middleware/auth"; import GuestMiddleware from "../middleware/guest"; import Login from "../components/Login.vue"; import Dashboard from "../components/admin/Dashboard"; import CatalogMain from "../../src/components/admin/catalog/CataLogMain"; Vue.config.productionTip = false; Vue.use(VueRouter); var mainRoute = [ { path: "/login", name: "login", component: Login, meta: { middleware: [GuestMiddleware], }, }, { path: "/admin/dashboard", component: Dashboard, name: "admin.dashboard", meta: { middleware: [AuthMiddleware], }, }, { path: "/admin/catalog", component: CatalogMain, name: "admin.catalog", meta: { middleware: [AuthMiddleware], }, }, ]; const router = new VueRouter({ mode: "history", base: __dirname, routes: mainRoute, linkActiveClass: "active", linkExactActiveClass: "exact-active", }); router.beforeEach(VueRouteMiddleware({ GuestMiddleware })); new Vue({ router, render: (h) => h(App), }).$mount("#app");