<>1.  initialization vue-router
 First install vue-router, And create a file named router Folder for , Create a new one under index.js
npm i vue-router
 <>2. vue-router Simple configuration of 
 First introduce vue and vue-router
  then vue.use Introduce the plug-in 
  Create a constant and introduce the page according to some rules , that is .vue file 
import Vue from 'vue' import VueRouter from 'vue-router' import home from 
'./home.vue' //  Introduction component  import login from './login.vue' Vue.use(VueRouter) const 
routes= [ { path: '/home', component: home }, { path: '/login', component: login
} ] const router = new VueRouter({ //  Put constant routes Put it in  routes }) //  export router export 
default router 
 stay main Or file and new Vue It's done when you put it in , This is the simplest router to configure 
 <>3.  Configure your own requirements router
 On the import page / Component time , Components can be introduced on demand , In this way, you won't enter for the first time vue All components will be introduced when the project is completed , The white screen time of the home page is too long, and it will not be packaged into one when packaging js file , When you need to display which component , In introduction .
//  Or has the example just been modified  const routes = [ { //  Enter this route by default every time  path: '/', // 
redirect attribute , If it is the default route , Then jump  redirect: '/home', //  Routes can be named , Can pass name Route jump  name: '', 
//  You can save some information in the route , amount to html Inside meta Meta information , You can pass $route To get  meta: { }, // 
 Sub routes shown under this route , Must be written in the component router-view Only labels can be displayed  children: [ { path: '', component: '' } ] 
}, { path: '/home', //component: home //  Import components on demand ,app.js Block packaging  component: () => 
import('./home.js) }, { path: '/login', //component: login // 
 Of course you can component To realize the lazy loading function of routing components  component: (resolve) => { require(['./login'], 
resolve) }, } ] 
 <>4.vue-router Public configuration of 
const router = new VueRouter({ //  This attribute is used to remove url Hash in (/#/) mode: 'history', // 
 This property is in path Path plus base path  base: '/base/', //  To the overall situation router-link Attributes used by the write style when activated , linkActiveClass:
'', linkExactActiveClass: '', //  Save the scroll position of the entered route  scrollBehavior (to, from, 
savedPosition) { to //  Jump route  from //  Which route to jump from  savedPosition // 
 If the route has entered and scrolled , This parameter will save the position information of scrolling  //  We usually set it like this  if (savedPosition) { return savedPosition
} }, //  Not all browsers support vue Form of route jump , This property does not need to be set to take effect automatically in order to be supported by different browsers vue Form of route jump . fallback: 
true, //  This method automatically gets the information in the path query parameter , It will receive a parameter that is a string  parseQuery (query) { }, // 
 This method automatically gets the information in the path query parameter , It receives a parameter that is an object  stringifyQuery (obj) { } }) 
 <>5. Route cache and route switching animation 
 In the above, we said router-view label , We can give router-view Write some properties 
 Cache all routes 
 stay router-view Outer package keep-alive  example : <keep-alive> <router-view></router-view> </keep-
alive> 
 Cache specified route 
 use  include <keep-alive include=" Of this route name name "> <router-view></router-view> </keep
-alive>  use  exclude To specify that the component does not require caching  <keep-alive exclude=" Of this route name name "> <router-view></
router-view> </keep-alive> 
 Partial route cache 
 use  meta  Add the following properties to the route  meta: {keepAlive: true //  cache } meta: {keepAlive:false //  No cache  
}  example : { path:'/Distribution', name:'Distribution', component: Distribution, meta:
{keepAlive: true //  cache } }  Then on the page  <keep-alive > // Current incoming route  meta inside  
keepAlive by true Go here when you need it  <router-view v-if="$route.meta.keepAlive"></router-view> </
keep-alive> // Current incoming route  meta inside  keepAlive by false Go here when you need it   below  if  The judgment is reversed  <router-view v-
if="!$route.meta.keepAlive"> </router-view> 
 Routing switching effect 
<!-- name Header name for global style , Handoff for each route   When you wrap a single component , Can act on the switching effect of a single component  --> <transtion name="
swtich"> <router-view></router-view> </transtion> 
 Then define the switching effects in the global style 
/*  Gradual in and gradual out effect  */ .switch-enter-active, .switch-leave-active transtion: opacity .5s 
.switch-enter, .switch-leave-toopacity: 0 
Technology