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
詳盡使用方法可閱讀官方文檔