logo好方法网

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


技术摘要:
本申请提供了一种脚本打包方法、装置、电子设备及存储介质,其中,首先接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件。通过遍历所述入口文件中的各所述入口信息,检测所述基础脚本是否存在下层按需加载脚本,如果存在,则依次打包每一所述下层按  全部
背景技术:
为了可以实现应用程序的跨平台运行和可动态更新的需求,开发人员通常可以以 跨平台移动应用开发框架(React  Native,RN)来开发应用程序,采用此方式开发出的应用 程序即为RN应用程序。通常一个RN应用程序具有多个代码仓库,每个代码仓库对应不同的 脚本,这些脚本包括用于实现RN应用基础功能的基础脚本和实现用户不同需求的按需加载 脚本。 随着用户需求的不断变化,以及出于对应用程序各项性能的优化,开发人员需要 不断地对应用程序进行更新。而在更新应用程序的过程中,通常需要对应用程序内的各个 脚本进行更新。为实现脚本更新,需要开发人员在开发平台上依次找到每一个脚本对应的 代码仓库,再对每一个代码仓库中更新后的代码进行打包,最后得到每一个脚本对应的更 新后脚本,将这些更新后脚本放入内容分发网络(Content  Delivery  Network,CDN)中,供 用户使用。 如果应用程序中包含大量脚本,采用这种手动打包更新的方式,无论在确定各个 脚本对应的代码仓库的阶段,还是对更新后代码的打包操作的阶段,都容易出现错漏。
技术实现要素:
本申请提供了一种脚本打包方法、装置、电子设备及存储介质,以提高应用程序的 更新质量。 第一方面,本申请提供了一种脚本打包方法,所述方法包括: 接收打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件,所述 基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述入口文件为所述基础脚本 的全部文件中第一个被访问的文件,所述入口文件包括进入所述基础脚本中各文件的入口 信息; 遍历所述入口文件中的各所述入口信息,检测是否存在下层按需加载脚本,所述 下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本,所述按需加载脚本为 用于实现用户需求对应的功能的脚本; 如果存在所述下层按需加载脚本,则打包每一所述下层按需加载脚本,得到每一 所述下层按需加载脚本对应的更新后唯一标识; 更新所述基础脚本中每一个所述下层按需加载脚本对应的唯一标识,生成已更新 基础脚本; 打包所述已更新基础脚本,得到所述已更新基础脚本的唯一标识。 在本发明实施例第一方面一种可能的实现方式中,所述打包每一所述下层按需加 5 CN 111596935 A 说 明 书 2/10 页 载脚本包括: 检测所述下层按需加载脚本是否存在次下层按需加载脚本,所述次下层按需加载 脚本为与所述下层按需加载脚本具有依赖关系的按需加载脚本; 如果存在所述次下层按需加载脚本,则打包每一所述次下层按需加载脚本,得到 每一所述次下层按需加载脚本对应的唯一标识; 更新所述下层按需加载脚本中每一所述次下层按需加载脚本对应的唯一标识,得 到已更新下层按需加载脚本; 打包所述已更新下层按需加载脚本,得到所述已更新下层按需加载脚本的唯一标 识。 在本发明实施例第一方面一种可能的实现方式中,所述检测所述下层按需加载脚 本是否存在次下层按需加载脚本还包括: 如果不存在所述次下层按需加载脚本,则直接打包所述下层按需加载脚本,得到 所述下层按需加载脚本对应的更新后唯一标识。 在本发明实施例第一方面一种可能的实现方式中,所述打包指令还包括所述基础 脚本的所述下层按需加载脚本对应的仓库地址和代码分支,所述打包每一所述下层按需加 载脚本包括: 从所述打包指令中获取每一所述下层按需加载脚本对应的仓库地址和代码分支, 所述仓库地址为所述下层按需加载脚本的对应代码仓库在所述待更新应用程序对应数据 库中的存放位置,所述代码分支用于代表所述下层按需加载脚本的代码版本; 按照所述仓库地址从所述待更新应用程序对应数据库中获取所述下层按需加载 脚本的代码仓库;按照所述代码分支从所述代码仓库中获取所述下层按需加载脚本的更新 后代码; 打包每一所述下层按需加载脚本的更新后代码,得到每一所述下层按需加载脚本 对应的更新后唯一标识。 在本发明实施例第一方面一种可能的实现方式中,所述打包指令还包括所述基础 脚本对应的仓库地址和代码分支,所述打包所述已更新基础脚本,得到所述已更新基础脚 本的唯一标识包括: 从所述打包指令中获取所述基础脚本对应的仓库地址和代码分支,所述基础脚本 对应的仓库地址为所述基础脚本的对应代码仓库在所述待更新应用程序对应数据库中的 存放位置,所述基础脚本的代码分支用于代表所述基础脚本的代码版本; 按照所述基础脚本的仓库地址从所述待更新应用程序对应数据库中获取所述基 础脚本的代码仓库; 按照所述基础脚本的代码分支从所述基础脚本的代码仓库中获取所述基础脚本 更新后代码; 打包所述基础脚本更新后代码和各所述下层按需加载脚本对应的唯一标识,得到 所述已更新基础脚本的唯一标识。 第二方面,本申请提供了一种脚本打包装置,所述装置包括: 打包指令接收模块,用于接收打包指令,所述打包指令包括待更新应用程序中基 础脚本的入口文件,所述基础脚本为用于实现所述待更新应用程序基础功能的脚本,所述 6 CN 111596935 A 说 明 书 3/10 页 入口文件为所述基础脚本的全部文件中第一个被访问的文件,所述入口文件包括进入所述 基础脚本中各文件的入口信息; 信息遍历模块,用于遍历所述入口文件中的各所述入口信息,检测是否存在下层 按需加载脚本,所述下层按需加载脚本为与所述基础脚本具有依赖关系的按需加载脚本, 所述按需加载脚本为用于实现用户需求对应的功能的脚本; 下层按需加载脚本打包模块,用于如果存在所述下层按需加载脚本,则打包每一 所述下层按需加载脚本,得到每一所述下层按需加载脚本对应的更新后唯一标识; 基础脚本更新模块,用于更新所述基础脚本中每一个所述下层按需加载脚本对应 的唯一标识,生成已更新基础脚本; 脚本打包模块,用于打包所述已更新基础脚本,得到所述已更新基础脚本的唯一 标识。 在本发明实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模 块包括: 检测模块,用于检测所述下层按需加载脚本是否存在次下层按需加载脚本,所述 次下层按需加载脚本为与所述下层按需加载脚本具有依赖关系的按需加载脚本; 第一打包模块,用于如果存在所述次下层按需加载脚本,则打包每一所述次下层 按需加载脚本,得到每一所述次下层按需加载脚本对应的唯一标识; 更新模块,用于更新所述下层按需加载脚本中每一所述次下层按需加载脚本对应 的唯一标识,得到已更新下层按需加载脚本; 第二打包模块,用于打包所述已更新下层按需加载脚本,得到所述已更新下层按 需加载脚本的唯一标识。 在本发明实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模 块还包括: 第三打包模块,用于如果不存在所述次下层按需加载脚本,则直接打包所述下层 按需加载脚本,得到所述下层按需加载脚本对应的更新后唯一标识。 在本发明实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模 块包括: 第一信息获取模块,用于从所述打包指令中获取每一所述下层按需加载脚本对应 的仓库地址和代码分支,所述仓库地址为所述下层按需加载脚本的对应代码仓库在所述待 更新应用程序对应数据库中的存放位置,所述代码分支用于代表所述下层按需加载脚本的 代码版本; 第一代码仓库获取模块,用于按照所述仓库地址从所述待更新应用程序对应数据 库中获取所述下层按需加载脚本的代码仓库; 第一更新后代码获取模块,用于按照所述代码分支从所述代码仓库中获取所述下 层按需加载脚本的更新后代码; 第一子打包模块,用于打包每一所述下层按需加载脚本的更新后代码,得到每一 所述下层按需加载脚本对应的更新后唯一标识。 在本发明实施例第二方面一种可能的实现方式中,所述下层按需加载脚本打包模 块包括: 7 CN 111596935 A 说 明 书 4/10 页 第二信息获取模块,用于从所述打包指令中获取所述基础脚本对应的仓库地址和 代码分支,所述基础脚本对应的仓库地址为所述基础脚本的对应代码仓库在所述待更新应 用程序对应数据库中的存放位置,所述基础脚本的代码分支用于代表所述基础脚本的代码 版本; 第二代码仓库获取模块,用于按照所述基础脚本的仓库地址从所述待更新应用程 序对应数据库中获取所述基础脚本的代码仓库; 第二更新后代码获取模块,用于按照所述基础脚本的代码分支从所述基础脚本的 代码仓库中获取所述基础脚本更新后代码; 第二子打包模块,用于打包所述基础脚本更新后代码和各所述下层按需加载脚本 对应的唯一标识,得到所述已更新基础脚本的唯一标识。 第三方面,本发明实施例提供了一种电子设备,包括: 处理器,以及 存储器,用于存储所述处理器的可执行指令; 其中,所述处理器配置为经由执行所述可执行指令来执行所述的脚本打包方法。 第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程 序,所述计算机程序被处理器执行时实现所述的脚本打包方法。 本申请提供了一种脚本打包方法、装置、电子设备及存储介质,其中,首先接收开 发人员发送的打包指令,所述打包指令包括待更新应用程序中基础脚本的入口文件。通过 遍历所述入口文件中的各所述入口信息,检测所述基础脚本是否存在下层按需加载脚本, 如果存在,则依次打包每一所述下层按需加载脚本,得到每一所述下层按需加载脚本对应 的更新后唯一标识。然后,更新基础脚本中每一个下层按需加载脚本对应的唯一标识,得到 已更新基础脚本。最后,打包所述已更新基础脚本,得到已更新基础脚本的唯一标识,以完 成对待更新应用程序的更新。可见,本申请所提供的技术方案可以通过入口文件自动判断 待更新应用程序中各脚本之间的依赖关系,从而通过逐级打包各个脚本,进而得到已更新 基础脚本的唯一标识,完成对待更新应用程序的更新,更新后的应用程序中包含各层级脚 本的唯一标识,方便用户使用。 附图说明 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 图1为本申请实施例提供的一种脚本打包方法的流程图; 图2为本申请实施例提供的一种脚本打包流程示意图; 图3为本申请实施例提供的一种打包下层按需加载脚本的方法的流程图; 图4为本申请实施例提供的一种打包下层按需加载脚本的方法的流程图; 图5为本申请实施例提供的一种打包已更新基础脚本的方法的流程图; 图6为本发明实施例提供的脚本打包装置实施例一的结构示意图; 图7为本发明实施例提供的脚本打包装置实施例二的结构示意图; 图8为本发明实施例提供的脚本打包装置实施例三的结构示意图; 8 CN 111596935 A 说 明 书 5/10 页 图9为本发明实施例提供的脚本打包装置实施例四的结构示意图; 图10为本发明实施例提供的脚本打包装置实施例五的结构示意图; 图11为本发明实施例提供的电子设备的硬件结构示意图。
分享到:
收藏