zoukankan      html  css  js  c++  java
  • 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}

  • 相关阅读:
    python __builtins__ credits类 (15)
    python __builtins__ copyright类 (14)
    python __builtins__ complex类 (13)
    Map 遍历
    Java后台JSON数据的使用
    oracle增加表空间的四种方法
    Oracle ORA-12541:TNS:无监听程序
    Exception
    Spring 配置数据源
    在web.xml中classpath和classpath*的区别
  • 原文地址:https://www.cnblogs.com/yangsg/p/12017689.html
Copyright © 2011-2022 走看看