前端面试有时候会被问到“使用 vue 的时候会一下子加载所有的东西使得初始化页面很卡,该如何解决”?那这种情况你会怎么解决?我们应该想到可以使用路由懒加载和服务端渲染。
什么是路由懒加载
像 vue 这种单页面应用,如果没有应用懒加载,运用 webpack 打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出现长时间的白屏,即使做了 loading 也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。
我个人来看,就是:按需加载路由。
其次,我们可以看下非路由懒加载是什么样,以“@/pages/Home”为例,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/fa102b1c5b09b6b28c967eee0162de60.jpeg)
如何实现路由懒加载
有3种方法可以实现:
vue异步组件技术
es提案的import()
webpack提供的require.ensure()
方法一|vue异步组件技术
以“@/pages/Home”为例,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/6d20bf92dd0327eef239c569f245d073.jpeg)
方法二|es提案的import()
以“@/pages/Home”为例,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e0957fb4a3fe1a5088da9424e70931e9.jpeg)
方法三|webpack提供的require.ensure()
以“@/pages/Home”为例,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/b1bb1c8570bc36eafce7e792bc7da12f.jpeg)
以上就是三种实现路由懒加载的方法,如有错误请指正!