[发明专利]项目代码打包方法、装置、终端设备及存储介质在审
申请号: | 202210059385.3 | 申请日: | 2022-01-19 |
公开(公告)号: | CN114416057A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 徐俊 | 申请(专利权)人: | 平安付科技服务有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/71 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 吴冬羽 |
地址: | 518000 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 项目 代码 打包 方法 装置 终端设备 存储 介质 | ||
本申请适用于软件开发技术领域,提供了一种项目代码打包方法、装置及终端设备,方法包括:遍历第三方库的所有代码,确定出第三方库的目标变量的依赖映射路径,以将第三方库的目标变量的依赖映射路径保存在第三方库的配置文件中;在接收到项目代码打包指令时,遍历项目中的所有导入语句,确定项目中存在的导入变量;根据第三方库的配置文件对导入变量进行地址替换处理;将进行地址替换处理后的项目代码进行打包,只需要将导入变量在第三方库中包含该变量的文件打包到项目中,能够减少项目的冗余度,在编写第三方库的代码时也无需按照规定的规则创建目录,有效地减低了编码难度。
技术领域
本申请属于软件开发技术领域,尤其涉及一种项目代码打包方法、装置、终端设备及计算机可读存储介质。
背景技术
在日常软件项目开发的过程中,随着功能复杂度的提高及框架技术发展,项目的完成越来越依赖于第三方库的引用。在进行软件项目代码打包的过程中,通常需要将第三方库一同打包,这样就会导致多余的代码被打包到项目中,导致项目文件过大,进行影响用户访问速度和系统性能。
现有的项目代码打包方法提出了一种按需加载第三方库的方法,但是其需要开发人员在编写代码时指定引入变量的详细地址,这就要求开发人员必须十分清楚第三方库导出函数所对应的目录,导致开发效率低下等问题,且在第三方库迭代后,引用路径发生变化也会导致引用报错等问题。现有方法还提供了一种通过第三方库特定的打包优化插件对第三方库进行按需加载打包的方法,然而这种方法只能对传入的单个目录下的路径进行映射,无法处理嵌套目录下的路径替换,同时还需要在开发第三方库时,按照打包优化插件的规则创建目录,使得编码难度增大。
综上可知,目前按需加载第三方库的方法存在开发效率低、容易出现引用出错、适应性差且编码难度大的问题。
发明内容
本申请实施例提供了一种项目代码打包方法、装置、终端设备及计算机可读存储介质,可以解决目前按需加载第三方库的方法存在开发效率低、容易出现引用出错、适应性差且编码难度大的问题。
第一方面,本申请实施例提供了一种项目代码打包方法,包括:
遍历第三方库的所有代码,确定出所述第三方库的目标变量的依赖映射路径,以将所述第三方库的目标变量的依赖映射路径保存在所述第三方库的配置文件中;
在接收到项目代码打包指令时,遍历项目中的所有导入语句,确定所述项目中存在的导入变量;
根据所述第三方库的配置文件对所述导入变量进行地址替换处理;
将进行地址替换处理后的项目代码进行打包。
在第一方面的一种实现方式中,所述遍历第三方库的所有代码,确定出所述第三方库的目标变量的依赖映射路径,以将所述第三方库的目标变量的依赖映射路径保存在所述第三方库的配置文件中,包括:
遍历所述第三方库中的所有代码,确定出与所述第三方库对应的抽象语法树;
根据所述抽象语法树分类收集所述第三方库的所有变量,得到导入语句变量集合、类型定义语句变量集合和导出语句变量集合;
根据所述导入语句变量集合、所述类型定义语句变量集合和所述导出语句变量集合确定目标变量;
获取所述目标变量的依赖映射路径。
在第一方面的一种实现方式中,所述根据所述导入语句变量集合、所述类型定义语句变量集合和所述导出语句变量集合确定目标变量,包括:
遍历导入语句变量集合中的变量,判断导出语句变量集合中是否存在与导入语句变量集合中变量名称相同的变量;
若导出语句变量集合中存在与导入语句变量集合中变量名称相同的变量,则获取所述变量的路径,并判断所述变量在导入语句中的路径是否与所述变量在导出语句中的路径一致;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安付科技服务有限公司,未经平安付科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210059385.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:履带车辆
- 下一篇:一种高导热绝缘阻燃PBT材料及其制备方法