CN117234582A - 一种项目代码处理方法、装置、电子设备及存储介质 - Google Patents
一种项目代码处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117234582A CN117234582A CN202311254516.4A CN202311254516A CN117234582A CN 117234582 A CN117234582 A CN 117234582A CN 202311254516 A CN202311254516 A CN 202311254516A CN 117234582 A CN117234582 A CN 117234582A
- Authority
- CN
- China
- Prior art keywords
- code
- target
- version
- project
- difference code
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000003780 insertion Methods 0.000 claims abstract description 33
- 230000037431 insertion Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 238000011161 development Methods 0.000 abstract description 31
- 238000012423 maintenance Methods 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种项目代码处理方法、装置、电子设备及存储介质,其中,方法包括:响应于版本差异代码获取指令,获取目标版本差异代码;确定所述目标版本差异代码匹配的当前项目代码;响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码获取指令包括动态组件引入指令;其中,所述版本差异代码插入指令包括动态组件插入指令。本发明实施例的技术方案能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
Description
技术领域
本发明实施例涉及软件开发技术领域,尤其涉及一种项目代码处理方法、装置、电子设备及存储介质。
背景技术
随着软件开发项目的持续迭代演进,为了完成不同的产品定制需求,会产生很多的分支迭代版本,同一个项目的各个分支迭代版本彼此之间都会存在相应的独有功能,同一个项目的每个分支迭代版本都会有主体功能的增加或减少,也即,同一项目的各代码版本之间都会存在相应的差异点,因此,每个分支迭代版本代码需要不断地新建代码分支。
图1是现有技术中管理同一项目不同分支迭代版本代码的效果示意图。在一个具体的例子中,如图1所示,目前现有技术通过对同一项目不同分支迭代版本代码切多个git(一个免费和开源的分布式版本控制系统)分支的方式进行管理。在该技术中,当一个项目生命周期较长或该项目的用户体量到达一定层度时,同一个项目往往需要同时维护着多个项目分支,其本质上也就相当于同时维护着多套项目代码。当需要使用或处理某一个项目分支时,可以直接从维护的多个项目分支中定位并获取相应整套的项目代码。
图2是现有技术中通过切多个git分支管理项目代码进行开发时各代码分支相互影响的效果示意图。在一个具体的例子中,如图2所示,发明人在实现本发明的过程中,发现现有通过切多个git分支管理项目代码的技术存在如下缺陷:当每个项目分支迭代版本出现需求增加、迭代bug(故障)修复或迭代共享需求时,往往都需要对相同的一段代码逻辑重复开发多次,或者使用git的merge(合并)等形式进行功能同步,在代码开发工作量方面将会面对成量的代码冲突以及重复的代码开发工作,每次项目开发都需要在多个项目分支中往返,极易造成代码开发混乱,会极大地浪费项目迭代时间和项目开发资源,降低项目代码的开发效率。同时,开发者需要同时维护多套代码项目,本地的分支代码管理维护成本极高。
发明内容
本发明实施例提供一种项目代码处理方法、装置、电子设备及存储介质,能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
根据本发明的一方面,提供了一种项目代码处理方法,包括:
响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
确定所述目标版本差异代码匹配的当前项目代码;
响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
本发明实施例通过对同一项目的不同分支代码仅存储差异代码,并在接收到版本差异代码获取指令时,响应于版本差异代码获取指令,获取目标版本差异代码,进一步确定目标版本差异代码匹配的当前项目代码,以响应于动态组件引入指令等类型的版本差异代码插入指令,将目标版本差异代码插入至当前项目代码,得到目标项目分支代码,解决现有项目代码管理维护时存在的开发维护成本高和开发效率低等问题,能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
可选的,所述获取目标版本差异代码,包括:
响应于所述动态组件引入指令,确定所述动态组件引入指令匹配的目标数据对象;
调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径;
访问所述目标差异代码访问路径,获取所述目标版本差异代码。
由于通过目标数据对象存储了目标版本差异代码的目标差异代码访问路径。因此,目标版本差异代码可以按需存储至任意文件夹中,只要该文件夹具有被管理项目代码的项目访问的权限即可。如此,当通过动态组件指示插入目标版本差异代码时,即可通过目标数据对象存储的目标差异代码访问路径快速获取目标版本差异代码。
可选的,所述获取所述目标版本差异代码的目标差异代码访问路径,包括:
调用所述目标数据对象以获取所述目标版本差异代码的差异代码相对路径;
获取所述目标版本差异代码的代码文件名;
对所述差异代码相对路径和所述目标版本差异代码的代码文件名进行拼接,得到所述目标差异代码访问路径。
上述技术方案,通过调用目标数据对象可以快速获取目标版本差异代码的目标差异代码访问路径,提高了目标差异代码访问路径获取的灵活性和高效性。
可选的,所述版本差异代码获取指令还包括判断语句获取指令,所述获取目标版本差异代码,还包括:
响应于所述判断语句获取指令,获取所述判断语句获取指令包括的目标环境变量值;
根据所述目标环境变量值从本地存储的代码版本信息中读取所述目标版本差异代码。
上述技术方案,针对差异较小的版本差异代码,通过判断语句获取指令获取对应的版本差异代码信息,可以无需对版本差异代码单独存储代码文件,不仅能够节省项目代码的开发空间资源,而且可以提高版本差异代码获取的灵活性。
可选的,在响应于版本差异代码获取指令,获取目标版本差异代码之前,还包括:
获取多个待管理项目版本代码;其中,所述待管理项目版本代码包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码;
确定各所述分支迭代代码的版本差异代码;
存储所述主分支代码以及所述版本差异代码。
上述技术方案,对目标项目仅存储主分支代码以及版本差异代码,可以降低代码的空间存储资源,降低项目代码的维护成本。由于各项目分支仅存储了版本差异代码,因此,一个项目分支的版本差异代码需要迭代更新或修改bug时,不会对其他项目分支产生重复开发的过程,还能够提高项目代码的开发效率。
可选的,所述获取多个待管理项目版本代码,包括:
搭建代码管理项目;其中,所述代码管理项目包括vue项目;
在所述代码管理项目内加载各所述待管理项目版本代码。
可选的,在所述存储所述主分支代码以及所述版本差异代码之后,还包括:
对各所述版本差异代码配置差异代码基础信息;其中,所述差异代码基础信息包括命令标识信息和缓存版本配置信息;
响应于目标分支迭代代码运行命令,生成所述目标分支迭代代码匹配的环境变量值;
读取所述缓存版本配置信息,并对所述缓存版本配置信息的读取结果进行字符串转换,得到配置信息字符串转换内容;
对所述配置信息字符串转换内容转换成设定类型的数据对象,并存储所述设定类型的数据对象;
其中,所述设定类型的数据对象用于存储所述版本差异代码的差异代码访问路径。
上述技术方案,通过对版本差异代码配置命令标识信息和缓存版本配置信息等差异代码基础信息,以进一步根据命令标识信息生成环境变量值并根据缓存版本配置信息生成设定类型的数据对象,以便于通过环境变量值和设定类型的数据对象确定所需的版本差异代码,提高了版本差异代码获取的灵活性和高效性。
根据本发明的另一方面,提供了一种项目代码处理装置,包括:
目标版本差异代码获取模块,用于响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
当前项目代码确定模块,用于确定所述目标版本差异代码匹配的当前项目代码;
目标项目分支代码获取模块,用于响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的项目代码处理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的项目代码处理方法。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中管理同一项目不同分支迭代版本代码的效果示意图;
图2是现有技术中通过切多个git分支管理项目代码进行开发时各代码分支相互影响的效果示意图;
图3是本发明实施例提供的一种项目代码处理方法的流程图;
图4是本发明实施例提供的一种通过一套项目代码并行维护多项目分支代码的效果示意图;
图5是本发明实施例提供的一种项目代码处理方法的流程图;
图6是本发明实施例提供的一种基于Vue项目对版本差异代码配置差异代码基础信息的流程示意图;
图7是本发明实施例提供的一种获取版本差异代码的差异代码访问路径的流程示意图;
图8是本发明实施例提供的一种通过版本配置信息获取版本差异代码的流程示意图;
图9是本发明实施例提供的一种项目代码处理装置的示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图3是本发明实施例提供的一种项目代码处理方法的流程图,本实施例可适用于利用动态组件引入指令将目标版本差异代码插入至当前项目代码的情况,该方法可以由项目代码处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中,该电子设备可以是终端设备,也可以是服务器设备,只要能够用于管理或处理项目代码即可,本发明实施例并不对电子设备的具体设备类型进行限定。相应的,如图3所示,该方法包括如下操作:
S110、响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令。
其中,版本差异代码获取指令可以是用于获取版本差异代码的指令。在本发明实施例中,可选的,版本差异代码可以是动态组件引入指令。所谓动态组件引入指令也即通过触发动态组件生成的,引入或插入版本差异代码的指令。版本差异代码也即每个项目分支迭代版本的代码中,区别于其他项目分支的代码内容,可以用于基于主分支代码和关联分支迭代代码构建目标的分支迭代代码。目标版本差异代码可以是当前版本差异代码获取指令指示需要获取的版本差异代码。
在本发明的一个可选实施例中,在响应于版本差异代码获取指令,获取目标版本差异代码之前,还可以包括:获取多个待管理项目版本代码;其中,所述待管理项目版本代码可以包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码;确定各所述分支迭代代码的版本差异代码;存储所述主分支代码以及所述版本差异代码。
其中,待管理项目版本代码也即项目关联的所有分支迭代版本代码,可以理解为同一目标项目的不同版本号的代码。可选的,待管理项目版本代码可以包括目标项目的主分支代码以及目标项目的各个分支迭代代码。主分支代码也即目标项目的主功能代码,分支迭代代码可以是用于完成其他定制功能的分支代码,可以简称为分支代码。可以理解的是,目标项目的分支迭代代码叠加主分支代码即可得到该目标项目的一个项目分支迭代版本。同时,版本差异代码可以是分支迭代代码中的部分或全部代码内容。
可选的,目标项目的数量可以是一个或多个,也即可以同时对多个不同的项目进行代码管理。目标项目的类型例如可以包括但不限于web(World Wide Web,全球广域网)项目、APP(Application,应用程序)项目以及小程序项目等,只要有代码开发需求以及代码分支迭代开发需求的项目类型都可以作为目标项目,本发明实施例并不对目标项目的类型进行限定。
在本发明实施例中,对于同一项目的各项目分支迭代版本的代码不再各自维护完整的代码内容,而是仅存储各项目分支迭代版本中区别于其他分支的差异代码。也即,针对同一项目的各项目分支,仅存储其对应的版本差异代码。同时,为了能够及时恢复还原项目分支迭代版本,还需要同时存储目标项目的主分支代码。
上述技术方案,对目标项目仅存储主分支代码以及版本差异代码,可以降低代码的空间存储资源,降低项目代码的维护成本。由于各项目分支仅存储了版本差异代码,因此,一个项目分支的版本差异代码需要迭代更新或修改bug时,不会对其他项目分支产生重复开发的过程,还能够提高项目代码的开发效率。
在本发明的一个可选实施例中,所述获取多个待管理项目版本代码,可以包括:搭建代码管理项目;其中,所述代码管理项目可以包括vue项目;在所述代码管理项目内加载各所述待管理项目版本代码。
其中,代码管理项目也即用于管理项目代码的项目类型。
在本发明实施例中,可选的,可以采用vue项目作为代码管理项目,并在搭建的vue项目内加载需要管理的各待管理项目版本代码。需要说明的是,通过vue项目内加载需要管理的各待管理项目版本代码时,可以按需存储各待管理项目版本代码的版本差异代码内容。所谓按需存储,也即可以根据实际需求将各待管理项目版本代码的版本差异代码存储至任意可用的目录文件夹下,而不是只存储至特定的目标文件夹下。这样设置的好处是:能够提高版本差异代码存储的灵活性,进而提高项目代码开发的灵活性。
相应的,当开发人员需要基于存储的目标项目的主分支代码以及各个分支的版本差异代码按需获取对应版本的分支代码时,可以基于发起版本差异代码获取指令,以通过版本差异代码获取指令指示获取目标版本差异代码。
示例性的,当基于vue项目管理项目代码时,可以对vue项目输入动态组件引入指令作为版本差异代码获取指令,以通过版本差异代码获取指令指示获取目标版本差异代码。其中,动态组件引入指令可以是vue项目的动态组件引入指令。
S120、确定所述目标版本差异代码匹配的当前项目代码。
S130、响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
其中,当前项目代码可以是需要插入目标版本差异代码的代码内容,可以是目标项目的主分支代码,也还可以是在目标项目的主分支代码的基础上,已经依次加入其他版本的版本差异代码后得到的代码内容,本发明实施例并不对当前项目代码的具体代码内容进行限定。目标项目分支代码也即某一个版本的项目分支迭代版本代码,该项目分支迭代版本代码区别于其他项目分支迭代版本代码的内容即为目标版本差异代码。版本差异代码插入指令也即用于将目标版本差异代码插入至当前项目代码的指令。动态组件插入指令也即通过动态组件插入版本差异代码的指令。
可以理解的是,版本差异代码获取指令和动态组件插入指令可以由同一动态组件触发。也即,通过动态组件获取目标版本差异代码后,将其插入至当前项目代码中。
在本发明实施例中,开发人员可以基于目标项目的主分支代码依次加入其他版本的版本差异代码,得到其所需的目标项目分支代码。图4是本发明实施例提供的一种通过一套项目代码并行维护多项目分支代码的效果示意图。在一个具体的例子中,如图4所示,假设目标项目分支代码为分支-迭代1.1的分支代码,则开发人员可以首先选定主分支代码,并将主分支代码作为当前项目代码,通过触发动态组件输入版本差异代码获取指令,以获取分支-迭代1的目标版本差异代码,并通过触发动态组件输入版本差异代码插入指令,以将分支-迭代1的目标版本差异代码插入至主分支代码,得到分支-迭代1的分支代码。进一步的,将分支-迭代1的分支代码作为当前项目代码,继续通过触发动态组件输入版本差异代码获取指令,获取分支-迭代1.1的目标版本差异代码,并通过触发动态组件输入版本差异代码插入指令,以将分支-迭代1.1的目标版本差异代码插入至分支-迭代1的分支代码,得到分支-迭代1.1的分支代码。
在本发明实施例中,动态组件可以是指根据不同的数据或条件动态加载不同内容的组件,可以满足按需自动加载差异化内容,无需开发人员手动输入相关代码语句获取差异化的代码内容,因此,基于动态组件的版本差异代码获取指令和版本差异代码插入指令能够提高差异化代码内容获取的灵活性和高效性,进而提高项目代码的开发效率。
本发明实施例通过对同一项目的不同分支代码仅存储差异代码,并在接收到版本差异代码获取指令时,响应于版本差异代码获取指令,获取目标版本差异代码,进一步确定目标版本差异代码匹配的当前项目代码,以响应于动态组件引入指令等类型的版本差异代码插入指令,将目标版本差异代码插入至当前项目代码,得到目标项目分支代码,解决现有项目代码管理维护时存在的开发维护成本高和开发效率低等问题,能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
图5是本发明实施例提供的一种项目代码处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了获取目标版本差异代码、存储主分支代码和版本差异代码以及存储代码之后相关配置操作的多种具体可选的实现方式。相应的,如图5所示,本实施例的方法可以包括:
S210、获取多个待管理项目版本代码。
其中,所述待管理项目版本代码包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码。
S220、确定各所述分支迭代代码的版本差异代码,并存储所述主分支代码以及所述版本差异代码。
S230、对各所述版本差异代码配置差异代码基础信息;其中,所述差异代码基础信息包括命令标识信息和缓存版本配置信息。
其中,差异代码基础信息可以是用于对版本差异代码进行标识、管理和配置所用的相关信息。命令标识信息可以是在管理项目代码的项目中,用于对项目代码进行处理的相关命令标识,例如可以包括但不限于启动项目代码或对项目代码进行打包等相关命令的标识。缓存版本配置信息可以是对版本差异代码进行存储的相关配置信息,相关代码管理项目可以基于缓存版本配置信息获取版本差异代码的存储信息。
可以理解的是,在当前项目代码插入目标版本差异代码之前,首先需要对各版本差异代码完成前期准备工作,以在前期准备工作中处理完成在后期的代码插入过程中需要使用的信息。
可选的,在各版本差异代码的前期准备工作中,可以首先对各版本差异代码配置命令标识信息和缓存版本配置信息等差异代码基础信息。其中,版本差异代码的命令标识信息可以用于对版本差异代码对应的项目分支代码进行标识,以对版本差异代码对应的项目分支代码发起相关命令。缓存版本配置信息则可以用于保存版本差异代码的相关存储配置信息,如代码文件的版本号等,以快速获取版本差异代码。
S240、响应于目标分支迭代代码运行命令,生成所述目标分支迭代代码匹配的环境变量值。
其中,目标分支迭代代码运行命令基于命令标识信息生成。目标分支迭代代码运行命令可以是运行目标分支迭代代码的命令。
在本发明实施例中,在对各版本差异代码的前期准备工作中,还可以针对各版本差异代码依次发起分支迭代代码运行命令。具体的,可以根据各版本差异代码匹配的命令标识信息生成对应的分支迭代代码运行命令。相应的,针对目标分支迭代代码,在对管理项目代码的项目中发起目标分支迭代代码运行命令后,管理项目代码的项目可以生成目标分支迭代代码匹配的环境变量值,以通过环境变量值在管理项目代码的项目内部标识目标分支迭代代码的版本信息。
S250、读取所述缓存版本配置信息,并对所述缓存版本配置信息的读取结果进行字符串转换,得到配置信息字符串转换内容。
其中,配置信息字符串转换内容可以是对缓存版本配置信息进行字符串转换后所得到的转换结果。
S260、对所述配置信息字符串转换内容转换成设定类型的数据对象,并存储所述设定类型的数据对象。
其中,所述设定类型的数据对象用于存储所述版本差异代码的差异代码相对路径。示例性的,设定类型的数据对象例如可以包括但不限于javascript(一种编程语言,简称JS)对象等。差异代码相对路径可以是版本差异代码的版本信息等。
可以理解的是,在前期准备工作中生成的缓存版本配置信息在后续的版本差异代码插入过程中可能无法被直接使用。因此,为了提高缓存版本配置信息的可用性,可以在前期准备工作中读取缓存版本配置信息,并对读取的缓存版本配置信息进行字符串转换,得到后续版本差异代码插入过程中可以被直接使用的配置信息字符串转换内容。为了便于后续使用,可以进一步对配置信息字符串转换内容转换成设定类型的数据对象,如javascript对象等,并存储设定类型的数据对象。可以理解的是,最终转换生成的设定类型的数据对象可以存储有版本差异代码的差异代码相对路径。相应的,通过调用设定类型的数据对象即可获取版本差异代码的差异代码相对路径,以确定版本差异代码的访问路径。
上述技术方案,通过对版本差异代码配置命令标识信息和缓存版本配置信息等差异代码基础信息,以进一步根据命令标识信息生成环境变量值并根据缓存版本配置信息生成设定类型的数据对象,以便于通过环境变量值和设定类型的数据对象确定所需的版本差异代码,提高了版本差异代码获取的灵活性和高效性。
S270、响应于版本差异代码获取指令,获取目标版本差异代码,并确定所述目标版本差异代码匹配的当前项目代码。
在本发明的一个可选实施例中,所述获取目标版本差异代码,可以包括:响应于所述动态组件引入指令,确定所述动态组件引入指令匹配的目标数据对象;调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径;访问所述目标差异代码访问路径,获取所述目标版本差异代码。
其中,目标数据对象可以是用于存储目标版本差异代码的差异代码访问路径的数据对象。差异代码访问路径也即访问获取版本差异代码的路径,也可以理解为版本差异代码的存储路径。目标差异代码访问路径也即目标版本差异代码的差异代码访问路径。
相应的,在前期准备工作完成后,开发人员即可根据开发需求按需对项目代码进行处理,具体可以基于所需版本的分支代码确定目标版本差异代码,并基于目标版本差异代码触发版本差异代码获取指令,以指示获取目标版本差异代码。可选的,开发人员可以在管理项目代码的项目中触发动态组件,以通过动态组件在当前项目代码中插入目标版本差异代码。相应的,当开发人员触发动态组件后,动态组件即可自动生成动态组件引入指令,管理项目代码的项目即可响应于动态组件引入指令,确定动态组件引入指令匹配的目标数据对象。在确定目标数据对象之后,即可调佣目标数据对象以获取目标版本差异代码的目标差异代码访问路径,进而通过访问目标差异代码访问路径,获取目标版本差异代码。
可选的,需要说明的是,由于通过目标数据对象存储了目标版本差异代码的目标差异代码访问路径。因此,目标版本差异代码可以按需存储至任意文件夹中,只要该文件夹具有被管理项目代码的项目访问的权限即可。如此,当通过动态组件指示插入目标版本差异代码时,即可通过目标数据对象存储的目标差异代码访问路径快速获取目标版本差异代码。
在本发明的一个可选实施例中,所述调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径,可以包括:调用所述目标数据对象以获取所述目标版本差异代码的差异代码相对路径;获取所述目标版本差异代码的代码文件名;对所述差异代码相对路径和所述目标版本差异代码的代码文件名进行拼接,得到所述目标差异代码访问路径。
在本发明实施例中,在获取目标版本差异代码的目标差异代码访问路径时,具体可以调用目标数据对象以获取目标版本差异代码的差异代码相对路径。但可以理解的是,仅凭差异代码相对路径无法顺利引入目标版本差异代码,因此,还需要确定目标版本差异代码的代码文件名,并对差异代码相对路径和目标版本差异代码的代码文件名进行拼接,得到实际可用的目标差异代码访问路径。
可选的,各个分支迭代代码的版本差异代码可以存储在各个分支迭代代码的文件目录下,然后把各个分支迭代代码的文件夹的名称改为对应的分支迭代的版本信息,并将版本差异代码的文件名称作为差异代码相对路径。进一步的,在版本差异代码的文件名称的基础上拼接版本差异代码的文件名称,也即通过把版本信息和版本差异代码的文件名称拼成版本差异代码对应的差异代码访问路径。
上述技术方案,通过调用目标数据对象可以快速获取目标版本差异代码的目标差异代码访问路径,提高了目标差异代码访问路径获取的灵活性和高效性。
在本发明的一个可选实施例中,所述版本差异代码获取指令还包括判断语句获取指令,所述获取目标版本差异代码,还可以包括:响应于所述判断语句获取指令,获取所述判断语句获取指令包括的目标环境变量值;根据所述目标环境变量值从本地存储的代码版本信息中读取所述目标版本差异代码。
其中,判断语句获取指令可以是用于判断版本差异代码对应具体版本的相关指令,例如可以是if语句指令等。只要能够用于判断版本差异代码的版本即可,本发明实施例并不对判断语句获取指令的具体指令类型进行限定。目标环境变量值可以是目标版本差异代码对应配置的环境变量值。
可以理解的是,对于差异较小的版本差异代码,如一个表单的内容、一小部分的代码逻辑差异或者一小段DOM(文档对象模型)结构的差异等少量代码差异,可以无需通过动态组件引入至当前项目代码中,开发人员可以通过管理项目代码的项目输入判断语句获取指令。相应的,管理项目代码的项目可以响应于判断语句获取指令,获取判断语句获取指令中指定的目标环境变量值,并通过目标环境变量值确定目标版本差异代码的版本信息,进而根据目标版本差异代码的版本信息从本地存储的代码版本信息中读取目标版本差异代码。
上述技术方案,针对差异较小的版本差异代码,通过判断语句获取指令获取对应的版本差异代码信息,可以无需对版本差异代码单独存储代码文件,不仅能够节省项目代码的开发空间资源,而且可以提高版本差异代码获取的灵活性。
S280、响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码。
上述技术方案,通过采用不同类型的版本差异代码获取指令,获取目标版本差异代码,提高了版本差异代码获取的灵活性和高效性。
为了更清楚的表述本发明实施例提供的技术方案,本发明实施例以Vue项目作为管理项目代码的项目为例具体说明本发明实施例的项目代码处理方法。图6是本发明实施例提供的一种基于Vue项目对版本差异代码配置差异代码基础信息的流程示意图。在一个具体的例子中,如图6所示,基于Vue项目对版本差异代码配置差异代码基础信息的流程可以包括以下操作:
步骤一、使用vue_cli搭建vue项目。
步骤二、在vue项目内加载需要管理的不同版本项目的代码,可以包括目标项目的主分支代码以及版本差异代码。
步骤三、针对各项目代码的版本差异代码,定义好版本迭代的node命令标识,该node命令标识可以用于区分代码的差异化内容,例如标识各版本差异代码的版本信息等。
示例性的,假如目标项目配置了npm run dev的启动本地开发环境的命令,则针对目标项目1.0分支代码版本的启动本地开发环境命令可以配置为npm run dev--project=1.0。在分支代码版本的启动本地开发环境命令中,“--project=”是固定不变的标识部分,“1.0”属于动态配置标识,代表需要加载的项目分支的版本信息,项目分支的版本信息“1.0”也还可以替换为对应版本项目分支代码的文件夹的名称。假如目标项目配置了npmrun build作为生产环境的打包命令,则同样可以采用固定标识(如--project=)+动态配置标识的方式对对应本部的项目分支代码配置生产环境的打包命令,如使用“npm runbuild--project=1.0”作为目标项目1.0分支代码版本的生产环境的打包命令。
步骤四、定义好目标项目对应版本分支代码的配置json文件,该json文件可以用于配置目标项目对应版本分支代码的配置信息。
示例性的,以上方“--project=1.0”为例,则目标项目1.0分支代码版本的json文件可以命名为1.0.json。
步骤五、对目标项目的各版本分支代码生成匹配的环境变量值。
示例性的,当使用完整的npm run dev--project=1.0命令运行1.0版本项目时,可以在Vue项目的node的环境中生成一个对应的node环境变量npm_config_project,环境变量的变量值具体可以设置为版本信息,例如设置为1.0。
步骤六、使用node.js的fs模块(fs模块用于对系统文件及目录进行读写操作)解读json文件,将解读出来的1.0.json文件内容进行字符串转换。进一步将转换的json内容转换成javascript对象,以通过javascript对象存储各版本分支代码的差异代码相对路径。然后将javascript对象使用localStorage.setItem存进浏览器缓存中。如此,缓存中存储的javascript对象可被全局调用。
步骤七、确定需要插入版本差异代码的当前项目代码。
步骤八、判断版本差异代码的复杂程度。如果版本差异代码较为简单,可以使用v-if判断localStorage(本地存储)中存取的版本信息。也即,简单的版本差异代码可以通过读取对应的环境变量值获取对应的版本差异代码,并将获取的版本差异代码插入至当前项目代码。如果版本差异代码较为复杂,例如涉及整个弹框差异、整个组件的差异、整个表单的代码差异内容或大量其他的代码差异内容等,可以使用动态组件获取对应的版本差异代码,并将获取的版本差异代码插入至当前项目代码。通过动态组件将版本差异代码插入至当前项目代码时,可以在当前项目代码中配置一个动态组件,并通过配置的动态组件在当前项目代码中插入版本差异代码。
图7是本发明实施例提供的一种获取版本差异代码的差异代码访问路径的流程示意图。图8是本发明实施例提供的一种通过版本配置信息获取版本差异代码的流程示意图。在一个具体的例子中,如图7和图8所示,若使用动态组件获取对应的版本差异代码,则获取版本差异代码的差异代码访问路径的流程可以包括以下操作:
步骤八、创建空的vue模版文件。
空的vue模版文件可以用于在无法获取到版本差异代码时使用。具体的,当使用动态组件引入版本差异代码时,如果找不到引用的版本差异代码的文件会生成报错信息。为了解决该问题,可以统一使用差异代码文件的空模版替代当前版本差异代码无对应文件的差异空缺,以保证项目代码能够正常运行。
步骤九、调用通用差异文件引入方法,即调用版本差异代码对应的javascript对象获取版本差异代码的差异代码相对路径,并获取版本差异代码的代码文件名,以将差异代码相对路径和版本差异代码的代码文件名进行拼接,得到版本差异代码对应的差异代码访问路径。
具体的,在确定版本差异代码对应的差异代码访问路径后,可以对将拼接好的差异代码访问路径进行检验。当通过差异代码访问路径确定存在版本差异代码的差异文件时,返回差异代码访问路径。相应的,可以基于差异代码访问路径获取对应版本的版本差异代码的差异文件。当通过差异代码访问路径确定不存在版本差异代码的差异文件时,可以返回创建好的空vue模版文件,同时反馈空的差异文件对象。
综上,在开发项目的过程中,可以把项目分支代码的差异文件存在对应版本的文件夹下,然后把文件夹的名称改为对应的版本信息。例如,项目分支代码的差异文件存在对应版本为cy1.0.1,则可以将当前项目分支代码的文件夹命名为cy1.0.1。同时,对应该版本的差异文件配置的环境变量的值也可以采用该文件夹的名称:cy1.0.1。然后把当前项目分支代码的文件夹的名称加上项目分支代码的差异文件的文件名称,如cy_index.vue,拼成该差异文件的访问路径地址,如cy1.0.1/cy_index.vue。最后通过vue的动态组件使用该访问路径地址:cy1.0.1/cy_index.vue,把该项目分支代码的差异文件引入进来。
可选的,还可以将需要存储的配置信息存储至vuex(基于vue的状态管理)中,以避免避免反复访问浏览器缓存获取配置信息影响浏览器性能。同时,还可以将差异代码文件的访问路径存储在路由配置文件中,以便于后期维护差异代码文件的访问路径信息。
Vue动态组件是指根据不同的数据或条件,动态加载不同的组件,从而实现页面的动态渲染。在Vue中,动态组件可以通过使用标签和is属性(可以实现在网页标签中直接使用组件)来实现。具体来说,标签可以作为一个占位符,用来展示不同的组件,而is属性则可以通过绑定不同的组件名称来动态地加载不同的组件。vue的动态组件是vue技术的高级特性,动态组件的实现方式可以利用render(渲染)函数,render函数渲染的形式更为灵活,动态组件的每一次切换都会重新销毁创建组件生命周期,确保了组件不会重复渲染。使用动态组件引入版本差异代码,除了可以利用本身的is属性,Vue还可以提供一些其他的动态组件加载的方式,例如使用异步组件或动态模块等。这些动态组件加载方式可以根据具体的场景来选择使用,以达到项目代码最佳的性能和开发效率。
本发明通过使用命令的形式动态引入对应差异的代码文件内容以及项目包,每一次的项目版本切换只需要运行一遍版本差异代码相关指令,差异功能即可自动根据版本差异代码相关指令引入对应的差异代码文件,项目打包也只需要运行对应迭代命令动态引入差异文件生成对应迭代项目包。在项目维护成本上大大的减少了重复工作,减少了多套代码的混乱情况,能够释放大量的开发时间,从而提高开发人员的开发工作效率,让项目的每一次发版以及迭代生成更简便及更轻量化。
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
图9是本发明实施例提供的一种项目代码处理装置的示意图,如图9所示,所述装置包括:目标版本差异代码获取模块310、当前项目代码确定模块320以及目标项目分支代码获取模块330,其中:
目标版本差异代码获取模块310,用于响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
当前项目代码确定模块320,用于确定所述目标版本差异代码匹配的当前项目代码;
目标项目分支代码获取模块330,用于响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
可选的,目标版本差异代码获取模块310具体用于:响应于所述动态组件引入指令,确定所述动态组件引入指令匹配的目标数据对象;调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径;访问所述目标差异代码访问路径,获取所述目标版本差异代码。
可选的,目标版本差异代码获取模块310具体用于:调用所述目标数据对象以获取所述目标版本差异代码的差异代码相对路径;获取所述目标版本差异代码的代码文件名;对所述差异代码相对路径和所述目标版本差异代码的代码文件名进行拼接,得到所述目标差异代码访问路径。
可选的,所述版本差异代码获取指令还包括判断语句获取指令,目标版本差异代码获取模块310还用于:响应于所述判断语句获取指令,获取所述判断语句获取指令包括的目标环境变量值;根据所述目标环境变量值从本地存储的代码版本信息中读取所述目标版本差异代码。
可选的,项目代码处理装置还可以包括代码存储模块,用于:获取多个待管理项目版本代码;其中,所述待管理项目版本代码包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码;确定各所述分支迭代代码的版本差异代码;存储所述主分支代码以及所述版本差异代码。
可选的,代码存储模块具体用于:搭建代码管理项目;其中,所述代码管理项目包括vue项目;在所述代码管理项目内加载各所述待管理项目版本代码。
可选的,项目代码处理装置还可以包括数据对象存储模块,用于:对各所述版本差异代码配置差异代码基础信息;其中,所述差异代码基础信息包括命令标识信息和缓存版本配置信息;响应于目标分支迭代代码运行命令,生成所述目标分支迭代代码匹配的环境变量值;其中,所述目标分支迭代代码运行命令基于所述命令标识信息生成;读取所述缓存版本配置信息,并对所述缓存版本配置信息的读取结果进行字符串转换,得到配置信息字符串转换内容;对所述配置信息字符串转换内容转换成设定类型的数据对象,并存储所述设定类型的数据对象;其中,所述设定类型的数据对象用于存储所述版本差异代码的差异代码相对路径。
上述项目代码处理装置可执行本发明任意实施例所提供的项目代码处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的项目代码处理方法。
由于上述所介绍的项目代码处理装置为可以执行本发明实施例中的项目代码处理方法的装置,故而基于本发明实施例中所介绍的项目代码处理方法,本领域所属技术人员能够了解本实施例的项目代码处理装置的具体实施方式以及其各种变化形式,所以在此对于该项目代码处理装置如何实现本发明实施例中的项目代码处理方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中项目代码处理方法所采用的装置,都属于本申请所欲保护的范围。
图10示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图10所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如项目代码处理方法。
在一些实施例中,项目代码处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的项目代码处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行项目代码处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
Claims (10)
1.一种项目代码处理方法,其特征在于,包括:
响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
确定所述目标版本差异代码匹配的当前项目代码;
响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
2.根据权利要求1所述的方法,其特征在于,所述获取目标版本差异代码,包括:
响应于所述动态组件引入指令,确定所述动态组件引入指令匹配的目标数据对象;
调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径;
访问所述目标差异代码访问路径,获取所述目标版本差异代码。
3.根据权利要求2所述的方法,其特征在于,所述调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径,包括:
调用所述目标数据对象以获取所述目标版本差异代码的差异代码相对路径;
获取所述目标版本差异代码的代码文件名;
对所述差异代码相对路径和所述目标版本差异代码的代码文件名进行拼接,得到所述目标差异代码访问路径。
4.根据权利要求1所述的方法,其特征在于,所述版本差异代码获取指令还包括判断语句获取指令,所述获取目标版本差异代码,还包括:
响应于所述判断语句获取指令,获取所述判断语句获取指令包括的目标环境变量值;
根据所述目标环境变量值从本地存储的代码版本信息中读取所述目标版本差异代码。
5.根据权利要求1所述的方法,其特征在于,在响应于版本差异代码获取指令,获取目标版本差异代码之前,还包括:
获取多个待管理项目版本代码;其中,所述待管理项目版本代码包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码;
确定各所述分支迭代代码的版本差异代码;
存储所述主分支代码以及所述版本差异代码。
6.根据权利要求5所述的方法,其特征在于,所述获取多个待管理项目版本代码,包括:
搭建代码管理项目;其中,所述代码管理项目包括vue项目;
在所述代码管理项目内加载各所述待管理项目版本代码。
7.根据权利要求6所述的方法,其特征在于,在所述存储所述主分支代码以及所述版本差异代码之后,还包括:
对各所述版本差异代码配置差异代码基础信息;其中,所述差异代码基础信息包括命令标识信息和缓存版本配置信息;
响应于目标分支迭代代码运行命令,生成所述目标分支迭代代码匹配的环境变量值;其中,所述目标分支迭代代码运行命令基于所述命令标识信息生成;
读取所述缓存版本配置信息,并对所述缓存版本配置信息的读取结果进行字符串转换,得到配置信息字符串转换内容;
对所述配置信息字符串转换内容转换成设定类型的数据对象,并存储所述设定类型的数据对象;
其中,所述设定类型的数据对象用于存储所述版本差异代码的差异代码相对路径。
8.一种项目代码处理装置,其特征在于,包括:
目标版本差异代码获取模块,用于响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
当前项目代码确定模块,用于确定所述目标版本差异代码匹配的当前项目代码;
目标项目分支代码获取模块,用于响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一所述的项目代码处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一所述的项目代码处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254516.4A CN117234582A (zh) | 2023-09-26 | 2023-09-26 | 一种项目代码处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254516.4A CN117234582A (zh) | 2023-09-26 | 2023-09-26 | 一种项目代码处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234582A true CN117234582A (zh) | 2023-12-15 |
Family
ID=89092699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311254516.4A Pending CN117234582A (zh) | 2023-09-26 | 2023-09-26 | 一种项目代码处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234582A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492822A (zh) * | 2023-12-29 | 2024-02-02 | 杭州新中大科技股份有限公司 | 变更对比方法、装置、电子设备及存储介质 |
-
2023
- 2023-09-26 CN CN202311254516.4A patent/CN117234582A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492822A (zh) * | 2023-12-29 | 2024-02-02 | 杭州新中大科技股份有限公司 | 变更对比方法、装置、电子设备及存储介质 |
CN117492822B (zh) * | 2023-12-29 | 2024-03-29 | 杭州新中大科技股份有限公司 | 变更对比方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113010827B (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
CN112506602B (zh) | 页面生成方法及装置、电子设备、计算机可读介质 | |
CN112765023A (zh) | 测试用例生成方法、装置 | |
CN117234582A (zh) | 一种项目代码处理方法、装置、电子设备及存储介质 | |
CN115617420B (zh) | 应用程序的生成方法、装置、设备以及存储介质 | |
CN115237436A (zh) | 应用部署方法、装置、电子设备及可读存储介质 | |
CN116028028A (zh) | 请求函数生成方法、装置、设备及存储介质 | |
CN114035865B (zh) | 启动小程序的方法、装置、设备以及存储介质 | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN112235132B (zh) | 动态配置服务的方法、装置、介质以及服务器 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN113986385A (zh) | 项目字体库加载方法、装置、电子设备及存储介质 | |
CN113626747A (zh) | 面包屑导航的生成方法和装置 | |
CN113961298A (zh) | 一种页面切换方法、装置、设备及介质 | |
CN114254232A (zh) | 云产品页面生成方法、装置、计算机设备和存储介质 | |
CN113342413B (zh) | 用于处理组件的方法、装置、设备、介质和产品 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN117270838B (zh) | 一种通用公式脚本的生成方法、装置、设备及介质 | |
CN118051687B (zh) | 页面响应方法、装置、电子设备及存储介质 | |
CN111176648B (zh) | 免安装程序转换处理方法、装置、电子设备及存储介质 | |
CN117371416A (zh) | 一种项目文档生成方法、装置、设备及存储介质 | |
CN117931176A (zh) | 一种业务应用生成方法、装置、平台及介质 | |
CN116225437A (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN117406988A (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 |