[发明专利]一种前端资源的按需加载方法和系统在审
申请号: | 202211113916.9 | 申请日: | 2022-09-14 |
公开(公告)号: | CN115291979A | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 宋静杰 | 申请(专利权)人: | 上海得帆信息技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/50 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 夏健君 |
地址: | 201821 上海市嘉定*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 前端 资源 加载 方法 系统 | ||
本发明涉及一种前端资源的按需加载方法和系统,方法包括预先对所述非核心功能进行插件化,得到多个插件,各个插件均设置有多个与生命周期相对应的功能钩子,多个功能钩子包括:安装钩子、生效钩子、失效钩子和卸载钩子;当前端资源进行加载时,获取各个插件的信息,在需要运行非核心功能时,则通过预先设置的插件引擎,加载对应插件的功能钩子,获取执行结果,进行页面渲染。与现有技术相比,本发明将一个前端页面的核心功能和非核心功能分离开来,具有降低了初始化前端资源的内容大小、加快了前端页面初始化的速度、减少了核心模块部分的开发难度等优点。
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种前端资源的按需加载方法和系统。
背景技术
随着现在浏览器和前端语言的发展,前端可以实现的功能越来越多,也有越来越多的需求诉诸前端。然而不同于后端可以依赖于愈发强大的服务器集群,前端往往被迫运行在能力有限的浏览器中。因为无法强迫每个人都拥有性能足够的计算机,这种限制不是靠堆叠硬件可以实现的。对于开发者来说,为了能够在有限的资源中运行足够强大的功能,首先要解决的就是资源加载问题。当一个网页加载过慢的时候,无论功能有多强大,在使用者层面的体验都是不甚舒服的。而一个有着强大功能的系统,对应需要加载的资源也往往会更多,因此为了减轻这种等待加载资源的焦虑,将资源进行拆分是必不可少的。
传统的方案下,前端资源被拆分打包为不同的文件,各自异步加载,可以大大减少加载资源的耗时。但是当加载大量使用者并不一定都使用的功能时,这样的资源就显得有点浪费。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种对非核心功能进行拆分和抽离,然后按需加载的前端资源的按需加载方法和系统。
本发明的目的可以通过以下技术方案来实现:
一种前端资源的按需加载方法,所述前端资源包括核心功能和非核心功能,所述方法包括:
预先对所述非核心功能进行插件化,得到多个插件,各个插件均设置有多个与生命周期相对应的功能钩子,多个功能钩子包括:
安装钩子,在插件加载后调用,用于执行插件初始化操作以及向页面进行数据注入;
生效钩子,在插件在被激活生效后调用,用于注册插件生效状态的功能钩子;
失效钩子,在插件被失效后调用,用于对插件在生效时注册的功能钩子进行解除注册并回收资源;
卸载钩子,在插件被完全卸载前调用,用于执行资源回收操作;
当前端资源进行加载时,获取各个插件的信息,在需要运行非核心功能时,则通过预先设置的插件引擎,加载对应插件的功能钩子,获取执行结果,进行页面渲染。
进一步地,所述插件的功能钩子执行前,需加载对应的插件;插件加载过程为:根据插件的信息加载插件文件,并执行该插件的安装钩子。
进一步地,所述插件的信息包括插件的唯一识别Code、存储地址、是否包含CSS文件、名称和描述信息,若存在CSS文件,则在加载插件文件的同时也记载CSS文件。
进一步地,所述插件引擎包括:
插件实例存储器,用于存放加载并注册的插件实例;
插件状态管理器,用于管理插件生效状态,当通过插件引擎生效插件时,将插件状态注册为生效;当通过插件引擎失效插件时,将插件状态注销;
插件执行器,用于在插件加载后,注册各个功能钩子,并传输用于执行的功能钩子;
插件加载器,用于执行插件加载和卸载操作;
功能钩子执行器,用于在触发功能钩子加载指令时,查找并执行在插件引擎中注册的功能钩子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海得帆信息技术有限公司,未经上海得帆信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211113916.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种太阳能水箱积放生产线
- 下一篇:一种可视化业务流编排方法、装置和存储介质