如何把Vue-router路由配置模块封装成一个单独的js页面,然后在main.js中引入

项目场景:

把Vue-router路由配置模块封装成一个单独的js页面(router/index.js),然后在main.js中引入

如何把Vue-router路由配置模块封装成一个单独的js页面,然后在main.js中引入_第1张图片

解决方案:

router/index.js下的代码

import Vue from 'vue'
//1.引入vuerouter函数
import VueRouter from 'vue-router'
// 2.添加到Vue.use()身上 – 注册全局RouterLink和RouterView组件
Vue.use(VueRouter)

//3.引入组件 并创建路由规则
import Main from '../components/views/Main.vue'
import My from '../components/views/My.vue'
import Order from '../components/views/Order.vue'
import Type from '../components/views/Type.vue'
const routes = [
    {
        path: '/',//默认hash路径
        redirect: '/main',//重定向
    },
    {
        path: '/main',
        name: 'Main',
        component: Main
    },
    {
        path: '/my',
        name: 'My',
        component: My
    },
    {
        path: '/order',
        name: 'Order',
        component: Order
    },
    {
        path: '/type',
        name: 'Type',
        component: Type
    },
]
//4. 用规则生成路由对象
const router = new VueRouter({
    routes,// routes是固定key(传入规则数组)
    // mode: "history" // 默认不写是"hash"
})
//5.导出 并在main.js中使用
export default router    //注意这里的导出规则  一定要与main.js的导入规则相同
//export default {router}  ==>  main.js导入 需要 import {router} from 'xxx'
main.js中的代码
import Vue from 'vue'
import App from './App.vue'
//导入 router/index.js  配置的路由规则
import router from './router/index.js'  

//!!!注意这里的引用规则一定要与(router/index.js)导出规则保持一致

Vue.config.productionTip = false
// 路由对象注入到vue实例中, this可以访问$route和$router
new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

你可能感兴趣的:(前端常见问题解疑,javascript,vue.js,前端)