关于vue.js:vue路由懒加载

38次阅读

共计 1398 个字符,预计需要花费 4 分钟才能阅读完成。

1. 开发环境 vue
2. 电脑系统 windows10 专业版
3. 为什么须要应用懒加载?

 在开发的过程中随着我的项目的业务越来越多, 需要越来越多, 体积越来越来, 像 vue 这种单页面利用, 如果没有应用懒加载, 运行打包之后的文件会很大, 进入首页时, 须要加载内容很多, 工夫过长, 可能会呈现短暂白屏的状况, 即便做了 loading 也不利于用户体验, 而使用懒加载能够将页面进行划分, 须要的时候再加载页面。上面我来分享三种懒加载的应用办法。

4. 办法一:vue 异步组件技术 (异步加载)

vue-royer 配置路由, 应用 vue 的异步组件技术, 能够实现按需加载, 然而这种状况下, 一个组件生成一个 js 文件 
{
    path: '/my',
    name: 'my',
    component: resolve => require(['../views/my.vue'], resolve)
  }

5. 办法二: 组件懒加载 (应用 import)

const 组件名 =()=>import('组件门路');
// 没有指定 webpackChunkName, 每个组件打包成一个 js 文件
const Home=()=>import('../views/home.vue')
// 指定了雷同的 webpackChunkName, 会合并打包成一个 js 文件

// 按组件划分
const Home=()=>import(/* webpackChunkName: "home" */ '../views/home.vue')

const About=()=>import(/* webpackChunkName: "home" */ '../views/home.vue')

const My=()=>import(/* webpackChunkName: "home" */ '../views/home.vue')
{path: '/about', component: About}, {path: '/my', component: My}, {path: '/home', component: Home}

6. 办法三:webpack 提供的 require.ensure()

vue-router 配置路由, 应用 webpack 的 require.ensure 技术, 也能够实现按需加载。这种状况下, 多个路由指定雷同的 chunkName, 会合并打包成一个 js 文件 
{path: '/home', name: 'home', component: r => require.ensure([], () => r(require('../views/home.vue')), 'home') },

{path: '/index', name: 'Index', component: r => require.ensure([], () => r(require('../views/index.vue')), 'home') },

{path: '/about', name: 'about', component: r => require.ensure([], () => r(require('@/views/about.vue')), 'about') }
// r 就是 resolve
const list = r => require.ensure([], () => r(require('../views/list.vue')), 'list');

// 这种是官网举荐的写的 按模块划分懒加载 

7. 本期的分享到了这里就完结啦, 心愿对你有所帮忙, 让咱们一起致力走向巅峰。

正文完
 0