Skip to content

Merbou/vue-road

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vue-road

it's a plugin of Vue-router that will allow you to handle middlewares

vue-router Build Status minified gzip npm license npm

vue-road is a dependency-free, lightweight plugin Vue-router that can be overwritten by yourself.

How to use?

npm install vue-road

Example

1/ First create an instance of the road bypassing callback function, inside of callback ,call the route method, route method accepts two parameters, an array of the routes as a first parameter and middlewares as a second parameter

/route
import road from "vue-road";

export default new road(function () {

    this.route([
        { path: '*', redirect: '/' },
        { path: '/404', component: () => import('./views/error/404.vue') }
    ], "init")
    
    this.route([
        { path: '/admin', component: () => import('./views/dashboard.vue')}
    ], ["auth"])
    
    this.route([
        { path: '/mail', component: () => import('./views/mail.vue') }
    ], 
    #order is important
    "auth,mail" #or ["auth","mail"]
    )
},
#You can update routes as you want them to be provided
callback(routes){ })

2/ Assign all routes of your app in Vue router constructor by calling constant method then Call middleware method bypassing an object contains Vue Router instance as router and object of middlewares

/router

import Vue from "vue";
import Router from "vue-router";
import route from "./route"
Vue.use(Router);

const opts = {
  routes: route.get(),
}
const router=new Router(opts);

route.middleware({ router, 
auth:{
    before: function ({to,from}) {
        return new Promise((resolve, reject) => {
            if(isAuth)resolve()
            reject("403")
        })
    }
}
})

export default router 

road class

api Description parameter return
constant return routes (before treatments) by middlewares passed as the second param if the first param is false it only return routes. Boolean,[Array,String] Array
get return routes (after treatments) by middlewares passed as the second param if the first param is false it only return routes. Boolean,[Array,String] Array
getMiddlewares return all used middlewares Array

License

This project is licensed under MIT License

About

Plugin of Vue Router that will allow you to handle middlewares

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published