webpack-simple版
的vue项目初始是没有vue-router
的,须要另外安装html
vue init webpack-simple demo //一路 Enter + y cd demo npm i
npm i -S vue-router
新建index.vue组件,路径为/demo/src/page/index.vue
接下来会围绕index.vue做为例子vue
简单配置以下webpack
// main.js
web
import Vue from 'vue' import VueRouter from 'vue-router' import App from './App.vue' Vue.use(VueRouter); import index from './page/index.vue'//也可以使用下面的懒加载写法 //const index = (resolve) => require(['./page/index.vue'],resolve) //路由指向 const routes = [ { path: '/', component: index } ]; const router = new VueRouter({ routes: routes, mode: 'history',//history模式比较像正常的url,hash模式带有#号 // mode: 'hash', }); new Vue({ el: '#app', router, render: h => h(App), });
创建router.js
文件,其与main.js
同级vue-router
// router.js
npm
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter); import index from './page/index.vue' //const index = (resolve) => require(['./page/index.vue'],resolve) //路由指向 const routes = [ // { path: '/', redirect: '/index' }, { path: '/', component: index }, ]; export default new VueRouter({ routes: routes, mode: 'history', // mode: 'hash', // base: __dirname })
// main.js
app
import Vue from 'vue' import router from './router' import App from './App.vue' new Vue({ el: '#app', router, render: h => h(App), });
此法也是
webpack版
vue项目router默认用法ui
// router/index.js
url
//与前面的router.js类似,不一样处为import的路径 import index from '../page/index.vue' ...
通过上面的配置,路由匹配到的组件将会渲染到
App.vue
里的<router-view>
标签中.net
// App.vue
<template> <div id="app"> <router-view></router-view> </div> </template>
与<a>标签相似,to=“”中即为路由中设置的url,点击此标签连接会将相应的组件渲染到页面中,产生“跳转”的感受
<router-link to="/index">主页</router-link>
//demo npm run dev //启动可见index.vue做为首页内容渲染到了网页里
使用Vue-Router 2实现路由功能
Getting Started
详尽使用方法可阅读官方文档