7、VUE路由懒加载-路由按需加载-解决vue首屏首次加载首页过

2019-08-16  本文已影响0人  郑先森

懒加载:----------------------------------------------------

也叫延迟加载,即在需要的时候进行加载,随用随载。

为什么需要懒加载?

像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时

简单的说就是:进入首页不用一次加载过多资源造成用时过长!!!

如何实现?

一、vue异步懒加载写法:

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
  routes: [{
      // 进行路由配置,规定'/'引入到home组件
      path: '/',
      name: 'Home',
      component: resolve => require(['../pages/Home.vue'], resolve),
      meta: {
        title: 'home'
      }
    },
    {
      path: '/about',
      name: 'About',
      component: resolve => require(['../pages/About.vue'], resolve)
    }
  ]
})

二、使用ES6 中的import进行懒加载 :

const HelloWorld = () => import("@/components/HelloWorld");
export default new Router({
  routes: [{
    path: '/',
    name: 'HelloWorld',
    component: HelloWorld
  }]
})
 
/*或者*/
 
export default new Router({
  routes: [{
    path: '/',
    name: 'HelloWorld',
    component: () => import("@/components/HelloWorld")
  }]
})

还有一点:是我遇到的如果你遇到了就看下——就是用了懒加载后打完包直接运行那个index.html会报错,报文件引用错误其实是打包时候路径配置有点问题修改下就好了

如下图:


image.png
找到build下面的webpack.prod.conf.js   添加   publicPath:"./",
```
上一篇 下一篇

猜你喜欢

热点阅读