[发明专利]模块解析的方法和装置有效
申请号: | 201710399282.0 | 申请日: | 2017-05-31 |
公开(公告)号: | CN108984189B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 李大双;李刚松;刘文冈;李铭铜 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F9/445;G06F9/455;G06F16/957 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模块 解析 方法 装置 | ||
本发明实施例提供一种模块解析的方法和装置,能够简化模块合并的过程,降低模块的解析难度;同时能够控制模块的更新,提供模块的不同版本。本发明实施例的模块解析的方法包括:根据模块的ID与版本号生成模块链接,基于所述模块链接生成模块获取请求;发送所述模块获取请求;加载所述模块以获取所述模块的外部接口。
技术领域
本发明涉及计算机领域,尤其涉及一种模块解析的方法和装置。
背景技术
移动web前端开发是互联网技术中非常重要的一个环节,呈现在用户面前的各种形态的页面都是由前端开发最终完成,前端开发需要完成的工作有页面html、样式css和逻辑javascript。
对于java脚本(javascript,简称js)的模块化开发,随着页面复杂度的变大,需要开发人员协同工作,需要提前引入公共模块,这些公共模块之间往往相互依赖,被依赖的js文件必须提前引入,这对引入顺序提出了严格要求,同时代码之间的耦合度较大。
现有技术一般采用通用模块,如seajs,来解决以上问题。Seajs的解析步骤如下:
步骤S11.在页面引入seajs的模块定义文件,进入入口函数use方法。
步骤S12.构建初始模块,定义初始模块的依赖模块及回调函数。
步骤S13.加载并定义所有依赖模块,进入加载(onload)方法。
步骤S14.执行初始模块的回调函数,利用获取(require)方法、工厂(factory)方法获取模块的外部接口返回。具体实现流程可参见图1。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
1.合并请求时,需要合并模块,需要用专业的合并工具做模块格式的转换,需要根据文件名自动加上id。如果不加id,只有最后一个模块定义被识别,这使得模块合并比较复杂也容易出现问题。
2.对于模块id的管理比较宽泛,无法保证一个模块id对应于一个模块。解析时,用一个模块id根据配置文件等信息,反射出对应的完整url,然后再与模块进行匹配,增加了模块解析难度,也增加了模块错乱的风险。
3.模块的更新比较复杂,开发人员也难以选择所需版本的模块。
4.没有将模块缓存在本地,不能减少请求,增加了带宽的浪费。
5.代码量较大,也没有实现对加载css文件的支持。
发明内容
有鉴于此,本发明实施例提供一种模块解析的方法和装置,能够简化模块合并的过程,降低模块的解析难度;同时能够控制模块的更新,提供模块的不同版本。
为实现上述目的,根据本发明的一个方面,提供了一种模块解析的方法。
本发明实施例的一种模块解析的方法用于在Web页面加载模块,包括:根据模块的ID与版本号生成模块链接,基于所述模块链接生成模块获取请求;发送所述模块获取请求;加载所述模块以获取所述模块的外部接口。
可选地,所述模块包括待加载模块、及源于所述待加载模块的依赖模块。
可选地,所述方法进一步包括:将所述模块链接分成多组,其中每一组对应于一模块获取请求。
可选地,所述方法进一步包括:在将所述模块链接分成多组之后,如果判断缓存中存储与所述模块链接对应的模块,则将该模块链接去除。
可选地,基于所述模块链接生成模块获取请求包括:对于每一组模块链接,将该组的模块链接合并为一链接,根据合并后的链接生成一模块获取请求。
可选地,所述方法进一步包括:在加载所述模块之前,如果判断在缓存中存储了所述模块,则获取所述模块的外部接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710399282.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种WIFI程序下载器
- 下一篇:一种数据处理方法、装置和电子设备