vue本身并没有提供路由机制,但是官方以插件得形式提供了对路由得支持,可以使用vue脚手架包去创建一个webpack应用,在创建时可以选择支持路由功能,这样创建得webpack应用在根目录下的src文件夹中会有一个router文件夹,文件夹中有一个index.js文件在入口文件main.js中导入router中的index.js文件代码如下

import router from './router'

接下来开始简历路由器模块来配置和绑定相关信息,可以使用new Router去创建一个路由,一个路由就是一个对象,一条路由有三个部分 : name、path、component分别对应的是 这条路由的命名、路径以及相对应的组件代码如下:

import Vue from 'vue'
import Router from 'vue-router'
//导入相对应的组件 @可以将其看成src的根路径
import HelloWorld from '@/home'
import Login from '@/login'

Vue.use(Router)//将Router加载到Vue实例中

export default new Router({       //创建路由对象
  routes: [
    {
      path: '/',    //默认跳转到HelloWorld组件,可以自己更改
      name: 'HelloWorld',     //路由的名字
      component: HelloWorld    //该路由对应的组件
    },
    {
      path:'/login',    //登陆页的路径
      name:'Login',
      component:Login    //登录页对应的组件
    },    //后续还有其他页面跳转可以继续按照该格式去书写    

当中导入的组件可以去掉.vue后缀,因为在webpack中配置了所以可以省略,对实际没有任何的影响

接着就是启动路由器了,在main.js入口文件中启用该路由器具体的代码如下

 1 import Vue from 'vue'
 2 import home from './ho'    //导入默认的组件
 3 import router from './router'     //导入路由模块
 4 
 5 Vue.config.productionTip = false
 6 
 7 /* eslint-disable no-new */
 8 new Vue({
 9   el: '#app',
10   router,      //挂载到跟实例中
11   components: { home },
12   template: '<home/>' 
13 });

接下来将路由匹配到的组件通过<router-view>标签渲染到ho.vue组件中代码如下

<template>
    <div>
        <router-view>  //路由匹配到的组件将会渲染到此标签中

        </router-view>
    </div>
</template>