[发明专利]React Native离线包的构建方法及存储介质有效
申请号: | 201911034065.7 | 申请日: | 2019-10-29 |
公开(公告)号: | CN110825385B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 刘德建;邹锲一;郭玉湖;陈宏 | 申请(专利权)人: | 福建天泉教育科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/901 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 张明 |
地址: | 350212 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | react native 离线 构建 方法 存储 介质 | ||
1.一种React Native离线包的构建方法,其特征在于,包括:
根据构建命令,获取配置信息,并将所述配置信息中的路径值转换为绝对路径,得到用户配置;
合并预设的默认配置和所述用户配置,得到最终配置,所述最终配置包括项目根目录路径、入口文件路径、离线包输出路径、文件后缀白名单和搜索路径黑名单;
获取项目根目录下文件路径不在所述搜索路径黑名单中且后缀属于所述文件后缀白名单的文件,并根据所述文件的绝对路径,在内存中建立虚拟文件树;
将入口文件加入依赖队列,并依次从所述依赖队列中获取一文件作为当前文件;
将当前文件的代码转换为ES5代码;
通过语法分析获取转换后的当前文件声明的依赖项;
根据所述虚拟文件树,获取所述依赖项对应的绝对路径,并将所述依赖项加入所述依赖队列中;
根据所述依赖项对应的绝对路径,获取所述依赖项对应的模块标识,并将所述依赖项的值替换为所述模块标识;
根据预设的与当前文件的文件类型对应的封装模板,对依赖替换后的当前文件进行封装,得到当前文件对应的模块代码;
当依赖队列中的文件均已遍历后,根据预设的索引化业务包结构,创建索引表,并拼接所述依赖队列中各文件对应的模块代码,得到业务包;
根据所述离线包输出路径,存储所述业务包。
2.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述根据构建命令,获取配置信息之后,进一步包括:
判断所述配置信息中是否包含所有预设的必填配置参数;
若是,则判定为有效配置;
若否,则判定为无效配置,终止构建。
3.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述将所述配置信息中的路径值转换为绝对路径具体为:
若所述配置信息中的路径值为相对路径,则根据所述构建命令的执行路径,将所述路径值转换为绝对路径。
4.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述将当前文件的代码转换为ES5代码之前,进一步包括:
判断当前文件是否属于基础包文件;
若是,则继续执行所述依次从所述依赖队列中获取一文件作为当前文件的步骤;
若否,则执行所述将当前文件的代码转换为ES5代码的步骤。
5.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述根据所述依赖项对应的绝对路径,获取所述依赖项对应的模块标识,并将所述依赖项的值替换为所述模块标识具体为:
根据所述依赖项对应的绝对路径和所述项目根目录路径,计算相对路径,作为所述依赖项对应的模块标识;
将所述依赖项的值替换为所述模块标识。
6.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述最终配置还包括是否开发模式的标志位;
所述根据预设的索引化业务包结构,创建索引表,并拼接所述依赖队列中各文件对应的模块代码,得到业务包之前,进一步包括:
若所述是否开发模式的标志位为否,则对所述依赖队列中各文件对应的模块代码进行代码混淆,输出混淆后的模块代码。
7.根据权利要求1所述的React Native离线包的构建方法,其特征在于,所述最终配置还包括资源输出路径;
所述根据所述离线包输出路径,存储所述业务包之后,进一步包括:
获取所述依赖队列中的资源文件,并根据所述资源输出路径,存储所述资源文件,所述资源文件包括多媒体文件。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一项所述的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天泉教育科技有限公司,未经福建天泉教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911034065.7/1.html,转载请声明来源钻瓜专利网。