路由懒加载的原理及实现_前端路由懒加载

路由懒加载的原理及实现_前端路由懒加载懒加载解决的问题:避免进入首页就加载全部的前端资源造成用户等待时间过长的问题。就好比,访问login页面,你返回的js路由不仅有渲染login页面的,还有渲染production页面以及其他页面的功能。而这些代码量太大了,文件也大。js文件有个特征,下载完全了才会运行,导致页面首屏速度太慢了,也就是白屏时间太长。这个问题,早就有人发现,于是解决方案就是路由懒加载,这只是一个技术名词。Vue路由懒加载原理说明1)我们一开始用ES6的写法,在路由文件router/index.js中

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

懒加载解决的问题:
避免进入首页就加载全部的前端资源造成用户等待时间过长的问题。
就好比,访问 login 页面,你返回的 js 路由不仅有渲染 login 页面的,还有渲染 production 页面以及其他页面的功能。而这些代码量太大了,文件也大。js 文件有个特征,下载完全了才会运行,导致页面首屏速度太慢了,也就是白屏时间太长。这个问题,早就有人发现,于是解决方案就是路由懒加载,这只是一个技术名词。

Vue路由懒加载原理说明
1) 我们一开始用ES6的写法,在路由文件router/index.js中引入所有路由要用到的组件,然后在每个路由对象中注册组件。使用这种方法时,我们加载路由文件时,首先要加载所有引入的路由组件,这样会影响页面的加载速度。现在我们通过懒加载的方式去改善这一问题,所以就延伸出了resolve这一概念;
2) 箭头指向的部分就是我们的改善方法。当用require这种方式引入的时候(ES5的写法),会将component分别打包成不同的js文件,加载的时候也是按需加载,只用访问这个路由网址时才会加载这个js;
3) 也是按需加载,只用访问这个路由网址时才会加载这个js;

使用:

写法1:
const Foo = () => import(/* webpackChunkName: "group-foo" */ './Foo.vue')
写法2:
component:resolve => require(['@/pages/task'],resolve)

webpackChunkName:在学习了webpack之后了解其做用,作用就是webpack在打包的时候,对异步引入的库代码(lodash)进行代码分割时(需要配置webpack的SplitChunkPlugin插件),为分割后的代码块取得名字。
Webpack 会将任何一个异步模块与相同的块名称组合到相同的异步块中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188876.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring过滤器和拦截器的区别[通俗易懂]

    Spring过滤器和拦截器的区别[通俗易懂]Spring过滤器和拦截器的区别 两者的作用 过滤器:是在javaweb中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts的action前统一设置字符…

    2022年8月23日
    4
  • sql语句——-重复时插入更新「建议收藏」

    sql语句——-重复时插入更新

    2022年3月6日
    51
  • ffmpeg avformat_open_input返回失败,错误码-10049

    ffmpeg avformat_open_input返回失败,错误码-10049ffmpegavformat_open_input失败,返回错误码-10049,错误描述:Errornumber-10049occurred调试代码,找到如果设置了time_out参数,就会失败,不设置就没问题,具体原因还没有找到,备注此问题,以待后续继续分析源代码:av_register_all();avformat_network_init();AVFormatCo…

    2022年9月28日
    0
  • 使用java在项目完成手机短信登录

    手机号登录在现在的项目中用的场景非常多,实现起来也不难,今天我们就一起来通过演示实现登录过程。<1>首先需要注册个第三方的账户,比如秒嘀科技等,然后拿到三个参数值:QUERAY_PATHACCOUNT_SIDAUTH_TOKEN<2>编写获取验证码类getMessage.javaprivatestaticfinalStringQUER…

    2022年4月17日
    43
  • linux下gdb调试方法与技巧整理「建议收藏」

    linux下gdb调试方法与技巧整理「建议收藏」目录一、gdb简介二、gdb使用流程1、启动gdb2、查看源码3、运行程序4、设置断点5、单步执行6、查看变量7、退出gdb三、gdb基本使用命令1、运行命令2、设置断点3、查看源码4、打印表达式5、查看运行信息6、分割窗口7、cgdb强大工具四、总结一、gdb简介GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。对于一名Linux下…

    2022年5月25日
    70
  • python 字符串按行切割

    python 字符串按行切割strs=xxxxxs.split(‘\n’)if__name__==’__main__’:response=requests.get(“https://video.buycar5.cn/20200809/Vqdbr9lj/2000kb/hls/index.m3u8”)split=response.text.split(‘\n’)print(split)

    2022年6月18日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号