CN111142859A - 一种脚本生成方法、装置、电子设备及存储介质 - Google Patents
一种脚本生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111142859A CN111142859A CN201911405250.2A CN201911405250A CN111142859A CN 111142859 A CN111142859 A CN 111142859A CN 201911405250 A CN201911405250 A CN 201911405250A CN 111142859 A CN111142859 A CN 111142859A
- Authority
- CN
- China
- Prior art keywords
- script
- environment
- specified
- packaging
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种脚本生成方法、装置、电子设备及存储介质,首先,接收打包指令,其中,所述打包指令包括指定版本号和指定环境标识。然后,从目标应用程序对应的后端服务器中获取目标应用程序的全部业务模块,并依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本。最后,将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。可见,本申请所提供的脚本生成方法,能够针对不同的使用需求将目标应用程序中的业务模块打包为多个脚本,以使每一脚本对应一个跨平台移动应用开发框架的版本号和一个环境标识,方便开发人员根据使用需求调用。
Description
技术领域
本申请涉及应用程序开发技术领域,尤其涉及一种脚本生成方法、装置、电子设备及存储介质。
背景技术
应用程序的开发通常依赖于React Native(跨平台移动应用开发框架,RN),通过在RN中写入不同的业务模块以及业务模块之间特定的关系,构建实现相应功能的应用程序,通常,RN使用JavaScript编程语言进行编写,可以说一组具有特定依赖关系的业务模块对应一个JavaScript资源版本。随着开发人员对应用程序的不断完善,RN中的业务模块以及业务模块之间的特定关系发生变化,此时出现RN的迭代更新,相应的,JavaScript资源版本出现变更。
由于应用程序面对的用户具有不同的使用需求,因此,针对同一个应用程序,不同用户可能需要使用不同的JavaScript资源版本,以及不同的使用环境,此时需要同一个应用程序可以同时支持多个JavaScript资源版本在多个使用环境的正常运行。由上文可知,不同的JavaScript资源版本以及使用环境对应不同的业务模块以及业务模块之间特定的关系,为了方便用户在使用应用程序时针对不同使用需求获取相应的数据,可以将业务模块以及业务模块之间特定的关系进行打包,形成一个脚本,并将该脚本对应分发至具有不同使用需求的用户,以供用户使用应用程序。
通常,开发人员采用手动打包业务模块获得脚本的方法,但是对于所要保留版本的数量较多和/或需要支持使用环境的数量较多的应用程序,采用人工打包的方式显然比较容易出现错漏,且打包效率较低。
发明内容
本申请提供了一种脚本生成方法、装置、电子设备及存储介质,以提高应用程序所对应的一个或多个版本的脚本的生成质量和效率。
第一方面,本申请提供了一种脚本生成方法,所述方法包括:
接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识;
获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码模块化得到;
依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本;
将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
在本发明实施例第一方面一种可能的实现方式中,所述接收打包指令包括:
从打包平台的后端服务器中获取与所述打包指令对应的配置文件;
解析所述配置文件,得到配置文件中的数组,所述数组由参数名称以及与所述参数名称对应的参数组成,所述参数名称包括跨平台移动应用开发框架和使用环境,所述参数包括版本号和识别码;
从所述数组中确定所述指定版本号和所述指定环境标识。
在本发明实施例第一方面一种可能的实现方式中,所述获取目标应用程序的全部业务模块包括:
获取所述目标应用程序的项目仓库地址,所述项目仓库地址为与所述目标应用程序对应的业务模块在数据库中的存储地址;
根据所述项目仓库地址从所述数据库中提取所述目标应用程序的全部业务模块。
在本发明实施例第一方面一种可能的实现方式中,所述依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本包括:
获取所述目标应用程序的脚本管理配置文件,所述脚本管理配置文件用于存储目标版本号,所述目标版本号为当前执行打包指令所对应的一个所述指定版本号;
将所述脚本管理配置文件中的目标版本号依次替换为所述打包指令中的每一所述指令版本号;
从所述全部业务模块中获取与所述目标版本号对应的目标业务模块;
对所述目标业务模块进行打包,得到第一脚本。
在本发明实施例第一方面一种可能的实现方式中,将每一所述第一脚本依次打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本。
在本发明实施例第一方面一种可能的实现方式中,将每一所述第一脚本同时打包为多个所述第二脚本,其中,每一所述第二脚本适用于一个所述指定环境标识对应的使用环境。
在本发明实施例第一方面一种可能的实现方式中,所述将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本包括:
如果所述指定环境标识为线上环境标识,则对每一所述第一脚本中的各业务模块的代码进行乱序处理,得到混淆后业务模块;
压缩每一所述第一脚本中的各所述混淆后业务模块,得到压缩后业务模块;
打包每一所述第一脚本中的全部所述压缩后业务模块,得到第二脚本。
第二方面,本申请提供了一种脚本生成装置,所述装置包括:
指令接收单元,用于接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识;
模块获取单元,用于获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码模块化得到;
第一打包单元,用于依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本;
第二打包单元,用于将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
在本发明实施例第二方面一种可能的实现方式中,所述指令接收单元包括:
配置文件获取单元,用于从打包平台的后端服务器中获取与所述打包指令对应的配置文件;
解析单元,用于解析所述配置文件,得到配置文件中的数组,所述数组由参数名称以及与所述参数名称对应的参数组成,所述参数名称包括跨平台移动应用开发框架和使用环境,所述参数包括版本号和识别码;
数据确定单元,用于从所述数组中确定所述指定版本号和所述指定环境标识。
在本发明实施例第二方面一种可能的实现方式中,所述模块获取单元包括:
地址获取单元,用于获取所述目标应用程序的项目仓库地址,所述项目仓库地址为与所述目标应用程序对应的业务模块在数据库中的存储地址;
模块提取单元,用于根据所述项目仓库地址从所述数据库中提取所述目标应用程序的全部业务模块。
在本发明实施例第二方面一种可能的实现方式中,所述第一打包单元包括:
脚本管理配置文件获取单元,用于获取所述目标应用程序的脚本管理配置文件,所述脚本管理配置文件用于存储目标版本号,所述目标版本号为当前执行打包指令所对应的一个所述指定版本号;
替换单元,用于将所述脚本管理配置文件中的目标版本号依次替换为所述打包指令中的每一所述指令版本号;
目标业务模块获取单元,用于从所述全部业务模块中获取与所述目标版本号对应的目标业务模块;
目标业务模块打包单元,用于对所述目标业务模块进行打包,得到第一脚本。
在本发明实施例第二方面一种可能的实现方式中,所述第二打包单元为循环打包单元,所述循环打包单元用于将每一所述第一脚本依次打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本。
在本发明实施例第二方面一种可能的实现方式中,所述第二打包单元为同时打包单元,所述同时打包单元用于将每一所述第一脚本同时打包为多个所述第二脚本,其中,每一所述第二脚本适用于一个所述指定环境标识对应的使用环境。
在本发明实施例第二方面一种可能的实现方式中,所述第二打包单元包括:
乱序单元,用于如果所述指定环境标识为线上环境标识,则对每一所述第一脚本中的各业务模块的代码进行乱序处理,得到混淆后业务模块;
压缩单元,用于压缩每一所述第一脚本中的各所述混淆后业务模块,得到压缩后业务模块;
打包子单元,用于打包每一所述第一脚本中的全部所述压缩后业务模块,得到第二脚本。
第三方面,本发明实施例提供了一种电子设备,包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的脚本生成方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的脚本生成方法。
本申请提供了一种脚本生成方法、装置、电子设备及存储介质,首先,接收打包指令,其中,所述打包指令包括指定版本号和指定环境标识。然后,从目标应用程序对应的后端服务器中获取目标应用程序的全部业务模块,并依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本。最后,将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。可见,本申请所提供的脚本生成方法,能够针对不同的使用需求,即打包指令中的指定版本号和环境标识,将目标应用程序中的业务模块打包为多个脚本,以使每一脚本对应一个跨平台移动应用开发框架的版本号和一个环境标识,方便开发人员根据使用需求调用。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种脚本生成方法的流程示意图;
图2为本申请实施例提供的一种打包流程示意图;
图3为本申请实施例提供的一种获得打包指令中打包参数的方法的流程图;
图4为本申请实施例提供的一种获取业务模块的方法的流程图;
图5为本申请实施例提供的一种生成第一脚本的方法的流程图;
图6为本申请实施例提供的一种生成第二脚本的方法的流程图;
图7为本申请提供的脚本生成装置的实施例一的结构示意图;
图8为本申请提供的脚本生成装置的实施例二的结构示意图;
图9为本申请提供的脚本生成装置的实施例三的结构示意图;
图10为本申请提供的脚本生成装置的实施例四的结构示意图;
图11为本申请提供的脚本生成装置的实施例五的结构示意图;
图12为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的一种脚本生成方法的流程示意图,如图1所示,所述方法包括:
S1、接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识。
如图2所示,为本申请实施例提供的一种打包流程示意图,开发人员向打包平台发送打包指令,以使打包平台根据该打包指令进行打包操作。其中,开发人员可以指人工,也可以为具有下发打包指令功能的软件程序。打包平台可以为具有接收打包指令并根据打包指令执行业务模块打包操作的平台、终端、设备等,例如手机、PC、个人电脑、iPad等。
通常,打包指令中至少包括指定版本号和指定环境标识,其中,指定版本号用来指示打包操作针对的跨平台移动应用开发框架的版本号,指定环境标识用来指示打包操作针对的使用环境。由背景技术可知,为了实现应用程序在开发过程中不同阶段的使用需求,应用程序中的各个业务模块会通过增减业务模块和/或改变业务模块之间特定的依赖关系来满足不同的使用需求,这样就对应产生了不同的跨平台移动应用开发框架(React Native,RN)的版本号。同时,不同版本号对应的RN根据使用需求需要在不同使用环境下运行,此时,可以用不同的环境标识来代表使用环境,例如,测试环境对应环境标识dev,线上环境对应环境标识release等。例如,指定版本号为RN4.00,则需要对RN4.00对应的业务模块进行打包,指令环境标识为测试环境dev,则需要将业务模块打包为适用于测试环境的脚本形式。
打包平台在接收到打包指令之后,具体地,如图3所示,为本申请实施例提供的一种获得打包指令中打包参数的方法的流程图,所述方法包括:
S101、从打包平台的后端服务器中获取与所述打包指令对应的配置文件;
S102、解析所述配置文件,得到配置文件中的数组,所述数组由参数名称以及与所述参数名称对应的参数组成,所述参数名称包括跨平台移动应用开发框架和使用环境,所述参数包括版本号和识别码;
S103、从所述数组中确定所述指定版本号和所述指定环境标识。
开发人员通常是通过在打包平台的前端页面上输入需要相关的打包参数从而向打包平台发送打包指令,这些打包参数会以配置文件的形式存储至打包平台的后端服务器,因此,打包平台为了准确获取打包指令所携带的打包参数,就需要从打包平台的后端服务器中获取与打包指令对应的配置文件。通常配置文件都是以数组形式存在的,配置文件通常采用.json格式,例如
其中,“environment”:[“dev”,“release”]为一个数组,
“dependencies”:[{“react-native”:“0.44.0”},{“react-native”:“0.57.8”}]为一个数组,其中,environment和dependencies为参数名称,0.44.0、0.57.8、dev、release为参数。需要注意的是,根据开发人员的实际使用需求可以在配置文件中写入所需的参数名称和对应的参数,即下发不同的打包指令。
可以通过解析配置文件,将配置文件得到配置文件中的各个数组,从而从数组中确定指定版本号和指定环境参数,在上述示例中即为0.44.0、0.57.8、dev、release。
需要注意的时,目标应用程序所上线的全部RN版本的数量可以大于或者等于指定版本号的数量,即可以对全部RN版本进行打包,也可以对部分RN版本进行打包。
可见,通过本申请所提供的方法,可以准确获取打包指令中所携带的打包参数,从而令打包平台可以准确执行打包指令。
S2、获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码模块化得到。
由上文可知,打包指令是针对目标应用程序的各个业务模块,即对各个业务模块进行打包操作。在本申请中将正在执行打包指令的应用程序称作目标应用程序,与所有应用程序相同,目标应用程序的业务模块也是指实现目标应用程序的预设功能的业务模块。通常,开发人员在设计应用程序时,会将应用程序对应的业务模块写入应用程序开发平台的后端服务器中,因此,打包平台可以从应用程序开发平台的后端服务器中获取与目标应用程序对应的全部业务模块。
具体地,如图4所示,为本申请实施例提供的一种获取业务模块的方法的流程图,所述方法包括:
S201、获取所述目标应用程序的项目仓库地址,所述项目仓库地址为与所述目标应用程序对应的业务模块在数据库中的存储地址;
S202、根据所述项目仓库地址从所述数据库中提取所述目标应用程序的全部业务模块。
通常,目标应用程序的业务模块会存储在应用程序开发平台的后端服务器内,可以将存储同属于一个目标应用程序的业务模块的集合定义为项目仓库,不同项目仓库在该后端服务器内对应一个唯一地址url,即项目仓库地址,以供开发人员准确获取该项目仓库内的业务模块。这样,打包平台从应用程序开发平台的后端服务器内获取目标应用程序的全部业务模块以供后续打包使用。
S3、依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本。
在获得目标应用程序的全部业务模块之后,需要针对每一指定版本号,对相应的业务模块进行打包,生成第一脚本。
具体地,如图5所示,为本申请实施例提供的一种生成第一脚本的方法的流程图,所述方法包括:
S301、获取所述目标应用程序的脚本管理配置文件,所述脚本管理配置文件用于存储目标版本号,所述目标版本号为当前执行打包指令所对应的一个所述指定版本号;
S302、将所述脚本管理配置文件中的目标版本号依次替换为所述打包指令中的每一所述指令版本号;
S303、从所述全部业务模块中获取与所述目标版本号对应的目标业务模块;
S304、对所述目标业务模块进行打包,得到第一脚本。
可以利用脚本管理配置文件(package.json文件)对业务模块进行打包。脚本管理配置文件中仅存储一个版本号,即当前正在进行执行打包指令的一个指定版本号。因此,利用脚本管理配置文件打包业务模块,一次打包动作只能打包一个指定版本号对应的业务模块。若要打包全部指定版本号对应的业务模块,则需要依次对每一版本号对应的业务模块进行打包。例如,脚本管理配置文件的目标版本号为0.44.0,在对该版本号对应的业务模块进行打包之后,需要将脚本管理配置文件中的目标版本号0.44.0替换为下一个指定版本号,例如0.57.8,此时,0.57.8即为目标版本号,需要对0.57.8对应的业务模块进行打包,得到一个第一脚本。直到将全部指定版本号对应的业务模块全部打包,针对生成第一脚本的打包操作完毕。
S4、将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
在得到第一脚本之后,需要进一步对第一脚本中的业务模块进行二次打包,即将第一脚本打包为具有适用于每一指定环境标识对应使用环境的脚本形式的第二脚本。
可选的,可以将每一所述第一脚本依次打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,例如,如果指定环境标识为dev和release,则可以首先将各个第一脚本打包为符合dev的第二脚本,然后将各个第一脚本打包为符合release的第二脚本,或者将每一第一脚本先打包为符合dev或者release的第二脚本,然后再将该第一脚本打包为符合另一环境标识的第二脚本。
实际上,由于针对于环境标识的打包过程不会互相干扰,因此,为了节约打包时间,可以对同一第一脚本同时针对不同环境标识进行打包,即将同一第一脚本同时打包为多个第二脚本,此时,每一所述第二脚本适用于一个所述指定环境标识对应的使用环境。
其中,可以采用NODE_ENV=${environment}参数更改指定环境标识。
可见,如果版本号的数量为m,环境标识的数量为n,则最多会打包生成m×n个第二脚本,例如,如果版本号的数量为1,环境标识的数量也为1,那么相当于配置文件为一个单版本,单环境的配置文件,此时只会得到1个第二脚本。需要注意的是,可以根据实际使用需求,对不同版本号使用不同的环境标识。
具体地,如图6所示,为本申请实施例提供的一种生成第二脚本的方法的流程图,所述方法包括:
S401、如果所述指定环境标识为线上环境标识,则对每一所述第一脚本中的各业务模块的代码进行乱序处理,得到混淆后业务模块;
S402、压缩每一所述第一脚本中的各所述混淆后业务模块,得到压缩后业务模块;
S403、打包每一所述第一脚本中的全部所述压缩后业务模块,得到第二脚本。
针对线上环境release的使用需求,即开发人员需要保证线上使用的安全性,即非开发人员无法通过第二脚本直接获得内部的业务模块的详细信息,此时,需要首先将第一脚本中的各个业务模块内的代码进行乱序处理,以起到与代码加密相同的效果。为了起到进一步地加密效果,将混淆后业务模块继续进行压缩处理,即令各代码行之间地间距急剧缩小,令非开发人员无法分辨代码行,以起到与代码加密相同的效果,这样得到的第二脚本可以适用于线上环境。
在另一种实现方式中,如果指定环境标识为测试环境标识,则需要将第一脚本中的各个业务模块的代码进行打包得到第二脚本,但是不需要改变各个业务模块的体积和其中各个代码的顺序。需要注意的是,根据不同的指定环境标识,可以对第一脚本中的各个业务模块采用不同的打包方式,以形成不同的脚本形式,以适用于不同的使用环境。
可见,本申请所提供的脚本生成方法,能够针对不同的使用需求,即打包指令中的指定版本号和环境标识,将目标应用程序中的业务模块打包为多个脚本,以使每一脚本对应一个跨平台移动应用开发框架的版本号和一个环境标识,方便开发人员根据使用需求调用。
图7为本申请提供的脚本生成装置的实施例一的结构示意图,所述装置包括:指令接收单元1,用于接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识;模块获取单元2,用于获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码模块化得到;第一打包单元3,用于依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本;第二打包单元4,用于将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
图8为本申请提供的脚本生成装置的实施例二的结构示意图,所述指令接收单元1包括:配置文件获取单元11,用于从打包平台的后端服务器中获取与所述打包指令对应的配置文件;解析单元12,用于解析所述配置文件,得到配置文件中的数组,所述数组由参数名称以及与所述参数名称对应的参数组成,所述参数名称包括跨平台移动应用开发框架和使用环境,所述参数包括版本号和识别码;数据确定单元13,用于从所述数组中确定所述指定版本号和所述指定环境标识。
图9为本申请提供的脚本生成装置的实施例三的结构示意图,所述模块获取单元2包括:地址获取单元21,用于获取所述目标应用程序的项目仓库地址,所述项目仓库地址为与所述目标应用程序对应的业务模块在数据库中的存储地址;模块提取单元22,用于根据所述项目仓库地址从所述数据库中提取所述目标应用程序的全部业务模块。
图10为本申请提供的脚本生成装置的实施例四的结构示意图,所述第一打包单元3包括:脚本管理配置文件获取单元31,用于获取所述目标应用程序的脚本管理配置文件,所述脚本管理配置文件用于存储目标版本号,所述目标版本号为当前执行打包指令所对应的一个所述指定版本号;替换单元32,用于将所述脚本管理配置文件中的目标版本号依次替换为所述打包指令中的每一所述指令版本号;目标业务模块获取单元33,用于从所述全部业务模块中获取与所述目标版本号对应的目标业务模块;目标业务模块打包单元34,用于对所述目标业务模块进行打包,得到第一脚本。
可选的,所述第二打包单元为循环打包单元,所述循环打包单元用于将每一所述第一脚本依次打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本。
可选的,所述第二打包单元为同时打包单元,所述同时打包单元用于将每一所述第一脚本同时打包为多个所述第二脚本,其中,每一所述第二脚本适用于一个所述指定环境标识对应的使用环境。
图11为本申请提供的脚本生成装置的实施例五的结构示意图,所述第二打包单元4包括:乱序单元41,用于如果所述指定环境标识为线上环境标识,则对每一所述第一脚本中的各业务模块的代码进行乱序处理,得到混淆后业务模块;压缩单元42,用于压缩每一所述第一脚本中的各所述混淆后业务模块,得到压缩后业务模块;打包子单元43,用于打包每一所述第一脚本中的全部所述压缩后业务模块,得到第二脚本。
图12为本申请实施例提供的电子设备的硬件结构示意图。该电子设备包括:存储器101和处理器102;
存储器101,用于存储计算机程序;
处理器102,用于执行存储器存储的计算机程序,以实现上述实施例中的流量数据监控方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器101既可以是独立的,也可以跟处理器102集成在一起。
当所述存储器101是独立于处理器102之外的器件时,所述电子设备还可以包括:
总线103,用于连接所述存储器101和处理器102。
本发明实施例提供的电子设备可用于执行上述实施例中任一所示的脚本生成方法,其实现方式和技术效果类似,本发明实施例此处不再赘述。
本发明实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当消息发送的装置的至少一个处理器执行该计算机程序时,消息发送的装置执行上述实施例任一所述的脚本生成方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于以计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种脚本生成方法,其特征在于,所述方法包括:
接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识;
获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码组成;
依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本;
将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
2.根据权利要求1所述的方法,其特征在于,所述接收打包指令包括:
从打包平台的后端服务器中获取与所述打包指令对应的配置文件;
解析所述配置文件,得到配置文件中的数组,所述数组由参数名称以及与所述参数名称对应的参数组成,所述参数名称包括跨平台移动应用开发框架和使用环境,所述参数包括版本号和识别码;
从所述数组中确定所述指定版本号和所述指定环境标识。
3.根据权利要求1所述的方法,其特征在于,所述获取目标应用程序的全部业务模块包括:
获取所述目标应用程序的项目仓库地址,所述项目仓库地址为与所述目标应用程序对应的业务模块在数据库中的存储地址;
根据所述项目仓库地址从所述数据库中提取所述目标应用程序的全部业务模块。
4.根据权利要求1所述的方法,其特征在于,所述依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本包括:
获取所述目标应用程序的脚本管理配置文件,所述脚本管理配置文件用于存储目标版本号,所述目标版本号为当前执行打包指令所对应的一个所述指定版本号;
将所述脚本管理配置文件中的目标版本号依次替换为所述打包指令中的每一所述指令版本号;
从所述全部业务模块中获取与所述目标版本号对应的目标业务模块;
对所述目标业务模块进行打包,得到第一脚本。
5.根据权利要求1所述的方法,其特征在于,将每一所述第一脚本依次打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本。
6.根据权利要求1所述的方法,其特征在于,将每一所述第一脚本同时打包为多个所述第二脚本,其中,每一所述第二脚本适用于一个所述指定环境标识对应的使用环境。
7.根据权利要求1所述的方法,其特征在于,所述将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本包括:
如果所述指定环境标识为线上环境标识,则对每一所述第一脚本中的各业务模块的代码进行乱序处理,得到混淆后业务模块;
压缩每一所述第一脚本中的各所述混淆后业务模块,得到压缩后业务模块;
打包每一所述第一脚本中的全部所述压缩后业务模块,得到第二脚本。
8.一种脚本生成装置,其特征在于,所述装置包括:
指令接收单元,用于接收打包指令,所述打包指令包括指定版本号和指定环境标识,所述指定版本号为与预设使用需求相匹配的跨平台移动应用开发框架的版本号,所述跨平台移动应用开发框架由实现所述目标应用程序相应业务功能的业务模块组成,所述指定环境标识为与预设使用环境相匹配的环境标识,所述环境标识为代表所述跨平台移动应用开发框架的使用环境的标识;
模块获取单元,用于获取目标应用程序的全部业务模块,所述业务模块由实现所述目标应用程序相应业务功能的代码模块化得到;
第一打包单元,用于依次对所述全部业务模块中与每一所述指定版本号对应的业务模块进行打包,得到第一脚本;
第二打包单元,用于将每一所述第一脚本打包为具有适用于每一所述指定环境标识对应使用环境的脚本形式的第二脚本,以供开发者调用。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器,以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一所述的脚本生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一所述的脚本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911405250.2A CN111142859A (zh) | 2019-12-31 | 2019-12-31 | 一种脚本生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911405250.2A CN111142859A (zh) | 2019-12-31 | 2019-12-31 | 一种脚本生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111142859A true CN111142859A (zh) | 2020-05-12 |
Family
ID=70522323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911405250.2A Pending CN111142859A (zh) | 2019-12-31 | 2019-12-31 | 一种脚本生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142859A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433821A (zh) * | 2020-12-08 | 2021-03-02 | 新华三大数据技术有限公司 | 业务模型的搭建方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080127175A1 (en) * | 2006-11-01 | 2008-05-29 | Microsoft Corporation | Packaging software products as single-file executables containing scripting logic |
CN106815052A (zh) * | 2017-01-10 | 2017-06-09 | 南威软件股份有限公司 | 一种适配多环境配置的快速部署系统的方法 |
CN107450941A (zh) * | 2017-06-26 | 2017-12-08 | 深圳市小牛在线互联网信息咨询有限公司 | 自动打包方法、装置、存储介质和计算机设备 |
CN107704238A (zh) * | 2017-11-28 | 2018-02-16 | 广州市千钧网络科技有限公司 | 一种对项目进行打包的方法及装置 |
CN107908404A (zh) * | 2017-11-17 | 2018-04-13 | 深圳市泉眼网络科技有限公司 | 程序打包方法、系统及终端设备 |
-
2019
- 2019-12-31 CN CN201911405250.2A patent/CN111142859A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080127175A1 (en) * | 2006-11-01 | 2008-05-29 | Microsoft Corporation | Packaging software products as single-file executables containing scripting logic |
CN106815052A (zh) * | 2017-01-10 | 2017-06-09 | 南威软件股份有限公司 | 一种适配多环境配置的快速部署系统的方法 |
CN107450941A (zh) * | 2017-06-26 | 2017-12-08 | 深圳市小牛在线互联网信息咨询有限公司 | 自动打包方法、装置、存储介质和计算机设备 |
CN107908404A (zh) * | 2017-11-17 | 2018-04-13 | 深圳市泉眼网络科技有限公司 | 程序打包方法、系统及终端设备 |
CN107704238A (zh) * | 2017-11-28 | 2018-02-16 | 广州市千钧网络科技有限公司 | 一种对项目进行打包的方法及装置 |
Non-Patent Citations (1)
Title |
---|
余啸海: "《Matlab接口技术与应用》", 国防工业出版社, pages: 248 - 250 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433821A (zh) * | 2020-12-08 | 2021-03-02 | 新华三大数据技术有限公司 | 业务模型的搭建方法、装置、电子设备及介质 |
CN112433821B (zh) * | 2020-12-08 | 2022-07-29 | 新华三大数据技术有限公司 | 业务模型的搭建方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665233B (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
CN108255847B (zh) | 页面生成方法及装置 | |
CN108334465B (zh) | 通信接口的配置方法、装置、设备及计算机可读存储介质 | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
US20150186195A1 (en) | Method of analysis application object which computer-executable, server performing the same and storage media storing the same | |
CN112269746A (zh) | 自动化测试方法及相关设备 | |
CN111367531A (zh) | 代码处理方法及装置 | |
CN111290996A (zh) | 文档格式转换方法、装置、设备及可读存储介质 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN108804120B (zh) | 一种页面构建方法、装置、设备及存储介质 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN111142859A (zh) | 一种脚本生成方法、装置、电子设备及存储介质 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN113138768A (zh) | 应用程序包生成方法、装置、电子设备以及可读存储介质 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN110795764A (zh) | 一种数据脱敏方法及系统 | |
CN115525561A (zh) | 协议接口测试方法、装置、终端设备以及存储介质 | |
CN113934552A (zh) | 功能代码的确定方法及装置、存储介质、电子装置 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN113485942A (zh) | 一种基于独立模块的自动化测试方法及装置 | |
CN112199270B (zh) | 一种程序测试方法、装置、设备及介质 | |
CN113691618A (zh) | 消息通知方法、装置、消息中心及存储介质 | |
CN112422682A (zh) | 数据发送方法及装置、存储介质、电子装置 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN110780983A (zh) | 任务异常处理方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |