一种脚本打包方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25438507 阅读:18 留言:0更新日期:2020-08-28 22:26
本申请提供了一种脚本打包方法、装置、电子设备及存储介质,其中,首先接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件。通过遍历所述入口文件中的各所述入口信息,检测所述基础脚本是否存在下层按需加载脚本,如果存在,则依次打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识。然后,更新基础脚本中每一个下层按需加载脚本对应的唯一标识,得到已更新基础脚本。最后,打包所述已更新基础脚本,得到已更新基础脚本的唯一标识,以完成对待更新应用程序的更新。

【技术实现步骤摘要】
一种脚本打包方法、装置、电子设备及存储介质
本申请涉及应用程序开发领域,尤其涉及一种脚本打包方法、装置、电子设备及存储介质。
技术介绍
为了可以实现应用程序的跨平台运行和可动态更新的需求,开发人员通常可以以跨平台移动应用开发框架(ReactNative,RN)来开发应用程序,采用此方式开发出的应用程序即为RN应用程序。通常一个RN应用程序具有多个代码仓库,每个代码仓库对应不同的脚本,这些脚本包括用于实现RN应用基础功能的基础脚本和实现用户不同需求的按需加载脚本。随着用户需求的不断变化,以及出于对应用程序各项性能的优化,开发人员需要不断地对应用程序进行更新。而在更新应用程序的过程中,通常需要对应用程序内的各个脚本进行更新。为实现脚本更新,需要开发人员在开发平台上依次找到每一个脚本对应的代码仓库,再对每一个代码仓库中更新后的代码进行打包,最后得到每一个脚本对应的更新后脚本,将这些更新后脚本放入内容分发网络(ContentDeliveryNetwork,CDN)中,供用户使用。如果应用程序中包含大量脚本,采用这种手动打包更新的方式,无论在确定各个脚本对应的代码仓库的阶段,还是对更新后代码的打包操作的阶段,都容易出现错漏。
技术实现思路
本申请提供了一种脚本打包方法、装置、电子设备及存储介质,以提高应用程序的更新质量。第一方面,本申请提供了一种脚本打包方法,所述方法包括:接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述基础脚本中各文件的入口信息;遍历所述入口文件中的各所述入口信息,检测是否存在下层按需加载脚本,所述下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本,所述按需加载脚本为用于实现用户需求对应的功能的脚本;如果存在所述下层按需加载脚本,则打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识;更新所述基础脚本中每一个所述下层按需加载脚本对应的唯一标识,生成已更新基础脚本;打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识。在本专利技术实施例第一方面一种可能的实现方式中,所述打包每一所述下层按需加载脚本包括:检测所述下层按需加载脚本是否存在次下层按需加载脚本,所述次下层按需加载脚本为与所述下层按需加载脚本具有依赖关系的按需加载脚本;如果存在所述次下层按需加载脚本,则打包每一所述次下层按需加载脚本,得到每一所述次下层按需加载脚本对应的唯一标识;更新所述下层按需加载脚本中每一所述次下层按需加载脚本对应的唯一标识,得到已更新下层按需加载脚本;打包所述已更新下层按需加载脚本,得到所述已更新下层按需加载脚本的唯一标识。在本专利技术实施例第一方面一种可能的实现方式中,所述检测所述下层按需加载脚本是否存在次下层按需加载脚本还包括:如果不存在所述次下层按需加载脚本,则直接打包所述下层按需加载脚本,得到所述下层按需加载脚本对应的更新后唯一标识。在本专利技术实施例第一方面一种可能的实现方式中,所述打包指令还包括所述基础脚本的所述下层按需加载脚本对应的仓库地址和代码分支,所述打包每一所述下层按需加载脚本包括:从所述打包指令中获取每一所述下层按需加载脚本对应的仓库地址和代码分支,所述仓库地址为所述下层按需加载脚本的对应代码仓库在所述待更新应用程序对应数据库中的存放位置,所述代码分支用于代表所述下层按需加载脚本的代码版本;按照所述仓库地址从所述待更新应用程序对应数据库中获取所述下层按需加载脚本的代码仓库;按照所述代码分支从所述代码仓库中获取所述下层按需加载脚本的更新后代码;打包每一所述下层按需加载脚本的更新后代码,得到每一所述下层按需加载脚本对应的更新后唯一标识。在本专利技术实施例第一方面一种可能的实现方式中,所述打包指令还包括所述基础脚本对应的仓库地址和代码分支,所述打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识包括:从所述打包指令中获取所述基础脚本对应的仓库地址和代码分支,所述基础脚本对应的仓库地址为所述基础脚本的对应代码仓库在所述待更新应用程序对应数据库中的存放位置,所述基础脚本的代码分支用于代表所述基础脚本的代码版本;按照所述基础脚本的仓库地址从所述待更新应用程序对应数据库中获取所述基础脚本的代码仓库;按照所述基础脚本的代码分支从所述基础脚本的代码仓库中获取所述基础脚本更新后代码;打包所述基础脚本更新后代码和各所述下层按需加载脚本对应的唯一标识,得到所述已更新基础脚本的唯一标识。第二方面,本申请提供了一种脚本打包装置,所述装置包括:打包指令接收模块,用于接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述基础脚本中各文件的入口信息;信息遍历模块,用于遍历所述入口文件中的各所述入口信息,检测是否存在下层按需加载脚本,所述下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本,所述按需加载脚本为用于实现用户需求对应的功能的脚本;下层按需加载脚本打包模块,用于如果存在所述下层按需加载脚本,则打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识;基础脚本更新模块,用于更新所述基础脚本中每一个所述下层按需加载脚本对应的唯一标识,生成已更新基础脚本;脚本打包模块,用于打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识。在本专利技术实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模块包括:检测模块,用于检测所述下层按需加载脚本是否存在次下层按需加载脚本,所述次下层按需加载脚本为与所述下层按需加载脚本具有依赖关系的按需加载脚本;第一打包模块,用于如果存在所述次下层按需加载脚本,则打包每一所述次下层按需加载脚本,得到每一所述次下层按需加载脚本对应的唯一标识;更新模块,用于更新所述下层按需加载脚本中每一所述次下层按需加载脚本对应的唯一标识,得到已更新下层按需加载脚本;第二打包模块,用于打包所述已更新下层按需加载脚本,得到所述已更新下层按需加载脚本的唯一标识。在本专利技术实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模块还包括:第三打包模块,用于如果不存在所述次下层按需加载脚本,则直接打包所述下层按需加载脚本,得到所述下层按需加载脚本对应的更新后唯一标识。在本专利技术实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模块包括:第一信息获取模块,用于从所述打包指令中获取每一所述下层按需加载脚本对应的仓库地址和代码分支,所述仓库地址为所述下层按需加载脚本的对应代码仓库在所述本文档来自技高网...

【技术保护点】
1.一种脚本打包方法,其特征在于,所述方法包括:/n接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述基础脚本中各文件的入口信息;/n遍历所述入口文件中的各所述入口信息,检测是否存在下层按需加载脚本,所述下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本,所述按需加载脚本为用于实现用户需求对应的功能的脚本;/n如果存在所述下层按需加载脚本,则打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识;/n更新所述基础脚本中每一个所述下层按需加载脚本对应的唯一标识,生成已更新基础脚本;/n打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识。/n

【技术特征摘要】
1.一种脚本打包方法,其特征在于,所述方法包括:
接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述基础脚本中各文件的入口信息;
遍历所述入口文件中的各所述入口信息,检测是否存在下层按需加载脚本,所述下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本,所述按需加载脚本为用于实现用户需求对应的功能的脚本;
如果存在所述下层按需加载脚本,则打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识;
更新所述基础脚本中每一个所述下层按需加载脚本对应的唯一标识,生成已更新基础脚本;
打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识。


2.根据权利要求1所述的方法,其特征在于,所述打包每一所述下层按需加载脚本包括:
检测所述下层按需加载脚本是否存在次下层按需加载脚本,所述次下层按需加载脚本为与所述下层按需加载脚本具有依赖关系的按需加载脚本;
如果存在所述次下层按需加载脚本,则打包每一所述次下层按需加载脚本,得到每一所述次下层按需加载脚本对应的唯一标识;
更新所述下层按需加载脚本中每一所述次下层按需加载脚本对应的唯一标识,得到已更新下层按需加载脚本;
打包所述已更新下层按需加载脚本,得到所述已更新下层按需加载脚本的唯一标识。


3.根据权利要求2所述的方法,其特征在于,所述检测所述下层按需加载脚本是否存在次下层按需加载脚本还包括:
如果不存在所述次下层按需加载脚本,则直接打包所述下层按需加载脚本,得到所述下层按需加载脚本对应的更新后唯一标识。


4.根据权利要求1所述的方法,其特征在于,所述打包指令还包括所述基础脚本的所述下层按需加载脚本对应的仓库地址和代码分支,所述打包每一所述下层按需加载脚本包括:
从所述打包指令中获取每一所述下层按需加载脚本对应的仓库地址和代码分支,所述仓库地址为所述下层按需加载脚本的对应代码仓库在所述待更新应用程序对应数据库中的存放位置,所述代码分支用于代表所述下层按需加载脚本的代码版本;
按照所述仓库地址从所述待更新应用程序对应数据库中获取所述下层按需加载脚本的代码仓库;按照所述代码分支从所述代码仓库中获取所述下层按需加载脚本的更新后代码;
打包每一所述下层按需加载脚本的更新后代码,得到每一所述下层按需加载脚本对应的更新后唯一标识。


5.根据权利要求1所述的方法,其特征在于,所述打包指令还包括所述基础脚本对应的仓库地址和代码分支,所述打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识包括:
从所述打包指令中获取所述基础脚本对应的仓库地址和代码分支,所述基础脚本对应的仓库地址为所述基础脚本的对应代码仓库在所述待更新应用程序对应数据库中的存放位置,所述基础脚本的代码分支用于代表所述基础脚本的代码版本;
按照所述基础脚本的仓库地址从所述待更新应用程序对应数据库中获取所述基础脚本的代码仓库;
按照所述基础脚本的代码分支从所述基础脚本的代码仓库中获取所述基础脚本更新后代码;
打包所述基础脚本更新后代码和各所述下层按需加载脚本对应的唯一标识,得到所述已更新基础脚本的唯一标识。


6.一种脚本打包装置,其特征在于,所述装置包括:
打包指令接收模块,用于接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述基...

【专利技术属性】
技术研发人员:蒋宏伟
申请(专利权)人:五八有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1