路由懒加载能够提高页面的加载速度,不过使用也得看场合。有时候需要懒加载,提升首页加载速度,一般是页面层级较为复杂的时候。大家看一下不加代码分割浏览器加载的文件。
这里蓝色部分是webpack自动分割出来的,当修改业务js时候manifest和vendor是不会改变的,浏览器直接在缓存中提取。
会变的是app.js。如果不采用路由分割会是什么效果呢。所有的代码都打包到app.js中,如果项目巨大,那么首页加载会是灾难。
1、当一个vue项目很大的时候,对于一些“暂时”用不到的组件,我们可以不进行加载,等到用到次组件时再加载。这样可以优化spa应用首次加载白屏情况,也给用户更好的体验。这样就是vue路由懒加载。
2、常用的懒加载方式有两种:即使用 ES中的import 和 vue异步组件
2.1 未使用懒加载
import HelloWorld from '@/components/HelloWorld' export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component:HelloWorld } ] })
2.2 使用ES中的动态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") }] })
2.3 使用VUE中的异步组件进行懒加载
export default new Router({ routes: [{ path: '/', name: 'HelloWorld', component: resolve => { require(['@/components/HelloWorld'],resovle); } }] })