vue构建大型项目之路由拆分与按需加载

1.路由拆分

src/router/index.js
import Vue from 'vue'
import Router from 'vue-router'
import schoolRoutes from './indexSchool'
import proRoutes from './indexPro'

Vue.use(Router)

const router = new Router({
  routes: [
    {
      path: '/',
      redirect: '/heightIndex'
    },
    ...schoolRoutes,//es6数组扩展符
    ...proRoutes
  ],
  linkActiveClass: 'active'
})

export default router
src/main.js
import router from './router'

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
src/router/indexSchool.js
export default
  [
    {
      path: '/schoolIndex',
      component: resolve => require(['@/components/schoolIndexPage'], resolve),
      redirect: '/schoolIndex/schoolPro',
      children: [
        {
          path: 'schoolPro',
          component: resolve => require(['@/schoolPages/schoolPro.vue'], resolve),
          redirect: '/schoolIndex/schoolPro/schoolProIndex',
          children: [
            {
              path: 'schoolProIndex',
              component: resolve => require(['@/schoolPages/schoolPro/schoolProIndex'], resolve)
            },
            {
              path: 'teachProIndex',
              component: resolve => require(['@/schoolPages/schoolPro/teachProIndex'], resolve)
            }
          ]
        }
      ]
    }
  ]

2.按需加载(懒加载)

    {
      path:'/axiosMock',
      component:resolve => require(['@/components/popup/axiosMock'],resolve)
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 11,768评论 0 16
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 8,495评论 1 22
  • 《奇葩说》有一节的辩论主题是:“不思进取,有错吗?”。对我来说,我可以理直气壮的说:不思进取,你就是有错。 积极进...
    Alice_yu阅读 4,351评论 1 2
  • 回忆起小时候 怀念 我想 我可以去写一本书了 关于我的小时候 在那个年纪的世界里 我在做着可能现在都不敢做的事情 ...
    Wennas阅读 2,548评论 0 3
  • 最初拿到这本书,是本着完成任务的心态来看它的,当时手头时间也紧,草草浏览一遍,对于书内的内容也是不求甚解,如今得空...
    摩天轮xwh阅读 1,755评论 0 0