• vue router 路由懒加载


    懒加载模式

    大项目中,为了提高初始化页面的效率,路由一般使用懒加载模式,一共三种实现方式。
    (1)第一种写法:

    component: (resolve) => require(['@/components/One'], resolve)

    (2)第二种写法:

    component: () => import('@/components/Two')

    这样:

      const Index = () => import(/* webpackChunkName: "group-home" */ '@/views/index')
      const routers = [
        {
          path: '/',
          name: 'index',
          component: Index
        }
      ]

    //PS:

     group-home’ 是把组件按组分块打包, 可以将多个组件放入这个组中

    /* webpackChunkName: "group-home" */ 是打包后文件名称,后面是文件路径。

    //在build目录下找到webpack.prod.conf.js文件,将output修改为

     output: {
        path: config.build.assetsRoot,
        filename: utils.assetsPath('js/[name].[chunkhash].js'),//文件格式,文件名.文件哈希
        chunkFilename: utils.assetsPath('js/[name].[chunkhash].js')//文件切割后的文件名称。这里的name对应的就是路由中引入文件时候的webpackChunkName
    }

    (3)第三种写法:

    components: r => require.ensure([], () => r(require('@/components/Three')), 'group-home')

    栗子:或者这样

      const Index = r => require.ensure([], () => r(require('./views/index')), 'group-home');
      const routers = [
        {
          path: '/',
          name: 'index',
          component: Index
        }
      ]

    PS:

    • 一般常用第二种简写

    • 第三种中,’group-home’是把组件按组分块打包, 可以将多个组件放入这个组中,在打包的时候Webpack会将相同 chunk 下的所有异步模块打包到一个异步块里面。

    路由正常模式:

    // 1、先引入页面组件import Home from '@/components/Home'// 2、使用组件
        {
            path: '/home',
            component: Home}

  • 相关阅读:
    【TJOI2015】弦论 (后缀数组)
    再见,高中;你好,大学
    我亲爱的朋友们
    将容斥系数隐含在式子中的方法
    一个奇妙的斯特林数推导
    CSP2019游记
    CSP2019初赛游记
    NOI2019游记
    老年选手康复训练
    CTS/APIO2019 游记
  • 原文地址:https://www.cnblogs.com/yangsg/p/12017689.html
Copyright © 2020-2023  润新知