CN115904334A - 代码处理方法、装置、计算机设备及存储介质 - Google Patents
代码处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115904334A CN115904334A CN202110909269.1A CN202110909269A CN115904334A CN 115904334 A CN115904334 A CN 115904334A CN 202110909269 A CN202110909269 A CN 202110909269A CN 115904334 A CN115904334 A CN 115904334A
- Authority
- CN
- China
- Prior art keywords
- module
- page
- subject
- modules
- types
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本申请关于一种代码处理方法、装置、计算机设备及存储介质,涉及计算机技术领域。该方法包括:获取至少两种主体类型的主体模块,该主体模块对应源代码中的程序主体文件;生成与至少两种主体类型的主体模块相关联的第一虚拟模块;以第一虚拟模块为输入起点,构建依赖图;该依赖图包含第一虚拟模块与至少两种主体类型的主体模块之间的引用关系;基于依赖图输出源代码对应的至少两个主体构建产物,至少两个主体构建产物与至少两种主体类型一一对应。通过上述方法,使得在对源代码进行处理的过程中,可以借助构建工具,提高对源代码的处理效率,同时,由于在构架过程中,充分考虑了各个模块之间的代码依赖,提高了对源代码对应的项目的构建效果。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种代码处理方法、装置、计算机设备及存储介质。
背景技术
小程序(Mini Program)是一种依附于宿主程序进行运行的快捷应用程序。
在相关技术中,在对小程序项目进行构建时,往往通过gulp工具对小程序源代码的直接编译,以实现对小程序项目的自动化构建。
然而,上述相关技术中,在通过gulp工具对小程序项目的自动化构建过程中,无法实现对源代码中的代码依赖关系进行分析,使得对小程序项目的构建效果较差。
发明内容
本申请实施例提供了一种代码处理方法、装置、计算机设备及存储介质,可以实现对源代码的代码依赖关系分析,以提高对小程序项目的构建效果。该技术方案如下:
一方面,提供了一种代码处理方法,所述方法包括:
获取至少两种主体类型的主体模块,所述主体模块对应源代码中的程序主体文件;
生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块;
以所述第一虚拟模块为输入起点,构建依赖图;所述依赖图包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系;
基于所述依赖图输出所述源代码对应的至少两个主体构建产物,所述至少两个主体构建产物与所述至少两种主体类型一一对应;所述主体构建产物中包含对应主体类型的主体模块。
另一方面,提供一种代码处理装置,所述装置包括:
第一获取模块,用于获取至少两种主体类型的主体模块,所述主体模块对应源代码中的程序主体文件;
第一生成模块,用于生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块;
依赖图构建模块,用于以所述第一虚拟模块为输入起点,构建依赖图;所述依赖图包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系;
主体构建产物输出模块,用于基于所述依赖图输出所述源代码对应的至少两个主体构建产物,所述至少两个主体构建产物与所述至少两种主体类型一一对应;所述主体构建产物中包含对应主体类型的主体模块。
在一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取至少两种页面类型的页面模块,所述页面模块对应源代码中的程序页面文件;
第二生成模块,用于生成与所述至少两种页面类型的页面模块相关联的第二虚拟模块;
所述依赖图构建模块,用于以所述第一虚拟模块为输入起点,基于所述第一虚拟模块以及所述第二虚拟模块,构建所述依赖图;所述依赖关系图中包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系,以及所述第三虚拟模块与所述至少两种页面类型的页面模块之间的引用关系。
在一种可能的实现方式中,所述装置还包括:
组合获取模块,用于基于模块类型对所述依赖图进行分割,获得两种模块组合;所述两种模块组合包括所述至少两种主体类型的主体模块对应的第一模块组合,以及至少两种页面类型的页面模块对应的第二模块组合;
所述主体构建产物输出模块,用于基于所述第一模块组合,输出所述源代码对应的至少两个主体构建产物。
在一种可能的实现方式中,所述装置还包括:
页面构建产物输出模块,用于基于所述第二模块组合,输出所述源代码对应的至少两个页面构建产物;所述至少两个页面构建产物,与所述至少两种页面类型一一对应;所述页面构建产物中包含对应页面类型的页面模块。
在一种可能的实现方式中,所述第一生成模块,用于调用第一加载器,对所述至少两种主体类型的主体模块中的程序主体文件进行关联,生成所述第一虚拟模块。
在一种可能的实现方式中,所述第二生成模块,用于调用第二加载器,对所述至少两种页面类型的页面模块中的程序页面文件相关联,生成所述第二虚拟模块。
在一种可能的实现方式中,响应于至少两种主体类型的主体模块中包含目标主体模块,所述目标主体模块是具有目标主体类型的主体模块;所述装置还包括:
第三生成模块,用于调用第三加载器,对所述目标主体模块中的源代码文件进行编译格式转化,生成第三虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
所述依赖图构建模块,用于建立所述第三虚拟模块与所述第一虚拟模块之间的引用关系,以及所述第三虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
在一种可能的实现方式中,响应于至少两种页面类型的页面模块中包含目标页面模块,所述装置还包括:
第四生成模块,用于调用第四加载器,对所述目标页面模块进行编译格式转化,生成第四虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
所述依赖图构建模块,用于建立所述第四虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
在一种可能的实现方式中,响应于所述源文件是基于第一类编译语言编译的代码文件,所述第一生成模块,包括:
第一转化子模块,用于调用所述第一加载器,将至少两种主体类型的主体模块中的程序主体文件转化为主体转化文件;所述主体转化文件是基于第二类编译语言编译的代码文件;
第一生成子模块,用于调用所述第一加载器,对至少两种主体类型的主体模块中的所述主体转化文件进行关联,生成所述第一虚拟模块。
在一种可能的实现方式中,响应于所述源文件是基于第一类编译语言编译的代码文件,所述第二生成模块,包括:
第二转化子模块,用于调用所述第二加载器,将至少两种页面类型的页面模块中的程序页面文件转化为页面转化文件;所述页面转化文件是基于第二类编译语言编译的代码文件;
第二生成子模块,用于调用所述第二加载器,对至少两种类型的页面模块中的所述页面转化文件进行关联,生成所述第三虚拟模块。
在一种可能的实现方式中,所述第一类编译语言为非小程序编译语言,所述第二类编译语言为小程序编译语言。
在一种可能的实现方式中,所述至少两个主体构建产物包括编译格式分别为js、json以及wxss的构建产物;
所述至少两个页面构建产物包括编译格式分别js、json、wxss以及wxml的构建产物。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如上所述各种可选实现方式中提供的代码处理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如上所述各种可选实现方式中提供的代码处理方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的代码处理方法。
本申请提供的技术方案可以包括以下有益效果:
本申请实施例提供的代码处理方法,通过生成与各个类型的主体文件相关联的第一类虚拟模块,并以该第一类虚拟模块为输入起点,基于各个模块之间得到引用关系构建依赖图,以基于该依赖图获取并输出源代码对应的至少两个主体构建产物,使得在对源代码进行处理的过程中,可以借助构建工具,提高对源代码的处理效率,同时,由于在构架过程中,充分考虑了各个模块之间的代码依赖,提高了对源代码对应的项目的构建效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请一示例性实施例示出的代码处理系统的结构示意图;
图2示出了本申请一示例性实施例提供的代码处理方法的流程图;
图3示出了本申请一示例性实施例示出的mpflow help执行效果的示意图;
图4示出了本申请一示例性实施例示出的mpflow create命令的执行效果示意图;
图5示出了本申请一示例性实施例提供的代码处理方法的流程图;
图6示出了本申请一示例性实施例示出的app-loader的作用示意图;
图7示出了本申请一示例性实施例示出的对app.json中的源代码文件进行编译格式转化的示意图;
图8示出了本申请一示例性实施例提供的依赖图的示意图;
图9示出了本申请一示例性实施例示出的输出主体构建产物的示意图;
图10示出了本申请一示例性实施例示出的mpflow路径处理流程的示意图;
图11是本申请一示例性实施例提供的代码处理装置的方框图;
图12是根据一示例性实施例示出的计算机设备的结构框图;
图13是根据一示例性实施例示出的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例提出了一种代码处理方法,该方案可以实现对源代码中的代码依赖关系的分析,以提高对小程序项目的构建效果。图1示出了本申请一示例性实施例示出的代码处理系统的结构示意图,如图1所示,该系统可以包括服务器110以及终端120。
其中,上述服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在本申请实施例中,该服务器110可以用于接收源代码,并对源代码进行处理。
上述终端120可以是具代码编译功能的终端设备,比如,终端120可以是智能手机、平板电脑、电子书阅读器、智能眼镜、智能手表、智能电视、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。在本申请实施例中,该终端120可以用于提供源代码,即用户可以通过终端120完成对源代码的编译之后,将源代码上传至服务器110,以使得服务器110完成对源代码的构建;或者,终端120还可以具有代码构建功能,在用户完成对源代码的编译之后,可以直接对源代码进行构建,本申请对此不进行限制。
可选的,上述系统中包含一个或者多个服务器110,以及多个终端120。本申请实施例对于服务器110和终端120的个数不做限制。
终端以及服务器通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。本申请在此不做限制。
图2示出了本申请一示例性实施例提供的代码处理方法的流程图,该代码处理方法可以由计算机设备执行,该终端可以实现为如图1所示的终端或者服务器,如图2所示,该代码处理方法可以包括以下步骤:
步骤210,获取至少两种主体类型的主体模块,该主体模块对应源代码中的程序主体文件。
在本申请实施例中,该源代码可以是用户编译的代码文件,进一步的,该源代码可以是用于构建小程序的代码文件;该源代码中可以包含程序主体文件。
在申请实施例中,该至少两种主体类型的主体模块中的任一主体模块,可以对应于源代码中至少一种主体代码类型的程序主体文件。示意性的,主体类型为js的主体模块,可以对应于主体代码类型为js的程序主体文件,和/或,对应于主体类型的ts的程序主体文件。
步骤220,生成与至少两种主体类型的主体模块相关联的第一虚拟模块。
步骤230,以第一虚拟模块为输入起点,构建依赖图;该依赖图包含第一虚拟模块与至少两种主体类型的主体模块之间的引用关系。
在本申请实施例中,该依赖图中可以包含第一虚拟模块,至少两种主体类型的主体模块,以及用以表示第一虚拟模块与至少两种主体类型的主体模块之间的引用关系的元素,示意性的,该元素可以实现为具有指向性的箭头。
步骤240,基于依赖图输出源代码对应的至少两个主体构建产物,至少两个主体构建产物与至少两种主体类型一一对应;该主体构建产物中包含对应主体类型的主体模块。
示意性的,一个主体构建产物中包含至少两个主体模块中,与该主体构建产物对应的主体类型相对应的全部主体模块,或者说,该主体构建产物是至少两个主体模块中,具有相同主体类型的主体模块组成的集合。
该主体构建产物可以实现为一个程序文件。
综上所述,本申请实施例提供的代码处理方法,通过生成与各个类型的主体文件相关联的第一类虚拟模块,并以该第一类虚拟模块为输入起点,基于各个模块之间得到引用关系构建依赖图,以基于该依赖图获取并输出源代码对应的至少两个主体构建产物,使得在对源代码进行处理的过程中,可以借助构建工具,提高对源代码的处理效率,同时,由于在构架过程中,充分考虑了各个模块之间的代码依赖,提高了对源代码对应的项目的构建效果。
在小程序代码构建的过程中,可以借助构建工具,实现对小程序源代码的自动化构建;本申请实施例提供的代码处理方法可以是由一种构建工具实现的,该构建工具可以称为mpflow,在mpflow通过小程序开发工具实现对源代码的构建产物获取和输出之前,还需在计算机设备上完成对mpflow的安装、配置和启动,示意性的,该过程可以实现为:
1.安装mpflow命令行;
计算机设备通过包管理工具全局安装@mpflow/cli,例如:npm install@mpflow/cli-g或者yarn global add@mpflow/cli。
安装完毕后之后,还在全局注册一个mpflow命令,用户可以使用mpflow—help来确认安装效果,图3示出了本申请一示例性实施例示出的mpflow help执行效果的示意图,如图3所示,通过执行mpflow help可以显示出mpflow中的各个辅助命令,其中,mpflowcreate<appName>命令用于创建小程序;mpflow add<pluginName>命令用于下载并安装插件;mpflow generate<pluginName>命令用于触发插件的generator;mpflow build命令用于构建小程序;mpflow dev命令用于开发小程序;mpflow inspect命令用于检查mpflow构建配置。
2.创建mpflow项目;
通过mpflow create命令可以快速创建mpflow项目,创建过程中需要输入小程序appid,再根据项目需要,设置是否需要安装插件,如typescript插件、css插件、测试插件等等,以使得在原生小程序的基础上提供扩展能力,让小程序开发者在使用小程序原生功能之外也可以使用Babel,Typescript,Less,单元测试,e2e测试等能力。图4示出了本申请一示例性实施例示出的mpflow create命令的执行效果示意图,如图4所示,通过mpflowcreate命令可以快速创建一个mpflow项目,并对应于多个可选的插件,分别设置在该项目中,各个插件的应用情况,即安装或者不安装。
3.启动开发;
通过mpflow dev—open命令可以开启本地文件监控,并自动拉起小程序开发工具。
4.生成构建产物;
通过mpfow build命令可以基于源代码构建生产模式的代码,其中生产模式下会对代码进行压缩等优化操作。
图5示出了本申请一示例性实施例提供的代码处理方法的流程图,该方法可以由计算机设备执行,该计算机设备可以实现为安装有mpflow的终端或者服务器,该终端或服务器可以是图1所示所示的终端或服务器,如图5所示,该代码处理方法可以包括以下步骤:
步骤510,获取至少两种主体类型的主体模块,该主体模块对应源代码中的程序主体文件。
在本申请实施例中,该源代码中可以既包含程序主体文件,也包含程序页面文件;小程序的源代码中包含一个描述整体程序的app(主体)部分和多个描述各自页面的page(页面)部分,一个小程序的主体部分可以由至少两个主体文件组成,示意性的,至少两个主体文件可以包括app.js文件(用以说明小程序逻辑),app.json文件(用以说明小程序公共配置)以及app.wxss文件(用以说明小程序公共样式表);一个小程序的页面部分可以由至少两个页面文件组成,示意性的,至少两个页面文件可以包括js文件(用以说明页面逻辑),wxml文件(用以说明页面结构),json文件(用以说明页面配置)以及wxss文件(用以说明页面样式表)。
步骤520,生成与至少两种主体类型的主体模块相关联的第一虚拟模块。
在本申请实施例中,mpflow中可以包含至少一个加载器(loader),加载器用以对引入的模块(文件)进行预处理,用于将一段代码转换成所需类型的另一段代码,可以基于不同的代码转化需求设置不同类型的加载器。
计算机设备可以调用mpflow中的第一加载器,对至少两种主体类型的主体模块中的程序主体文件进行关联,生成第一虚拟模块;该第一加载器可以实现为app-loader,图6示出了本申请一示例性实施例示出的app-loader的作用示意图,如图6所示,将app.js模块中的程序主体文件,app.json模块中的程序主体文件以及app.wxss模块中的程序主体文件输入app-loader,获得app-loader输出的第一虚拟模块610,即app-loader!app.js模块,其中,该第一虚拟模块610与app.js模块620,app.json模块630以及app.wxss模块640分别具有引用关系。
在本申请实施例中,源代码可以是基于第一类编译语言编译的代码文件,或者,该源代码文件是基于第二类编译语言编译的代码文件,其中,第二类编译语言是mpflow输出的构建产物对应的编译语言;示意性的,该第一类编译语言是非小程序编译语言,该第二类编译语言是小程序编译语言。
响应于源代码是基于第一类编译语言编译的代码文件,在生成第一虚拟模块时,计算机设备可以调用第一加载器,将至少两种主体类型的主体模块中的程序主体文件转化为主体转化文件;该主体转化文件是基于第二类编译语言编译的代码文件;
调用第一加载器,对至少两种主体类型的主体模块中的主体转化文件进行关联,生成第一虚拟模块。
也就是说,在通过第一加载器将主体模块内基于第一类编译语言编译的代码文件转化成基于第二类编译语言编译的代码文件之后,基于转化后的第二类编译语言编译的代码文件对应的至少两种主体类型的主体模块,生成第一虚拟模块,示意性的,可以将ts类型的代码文件转化为js类型的代码文件,将less类型,cess类型的代码文件转化为wxss类型的代码文件等等。
步骤530,获取至少两种页面类型的页面模块,该页面模块对应源代码中的程序页面文件。
步骤540,生成与至少两种页面类型的页面模块相关联的第二虚拟模块。
计算机设备可以调用mpflow中的第二加载器,对至少两种页面类型的页面模块中的程序页面文件进行关联,生成第二虚拟模块;该第二加载器可以实现为page-loader,可以将page.js模块中的程序页面文件,page.json模块中的程序页面文件,page.wxml模块中的程序页面文件以及page.wxss模块中的程序页面文件输入page-loader中,获得page-loader输出的第二虚拟模块page-loader!page.js,其中,该第二虚拟模块与page.js模块,page.json模块,page.wxml模块以及page.wxss模块分别具有引用关系。示意性的,该第二加载器对pages/index/index.js模块,pages/index/index.json模块,pages/index/index.wxml模块以及pages/index/index.wxss模块中的程序页面文件进行关联,生成第二虚拟模块page-loader!/pages/index/index。
响应于源文件是基于第一类编译语言编译的代码文件,在生成第二虚拟模块时,计算机设备可以调用第二加载器,将至少两种页面类型的页面模块中的程序页面文件转化为页面转化文件;该页面转化文件是基于第二类编译语言编译的代码文件;
调用第二加载器,对至少两种类型的页面模块中的页面转化文件进行关联,生成第三虚拟模块。
步骤550,以第一虚拟模块为输入起点,基于第一虚拟模块以及第二虚拟模块,构建依赖图;该依赖关系图中包含第一虚拟模块与至少两种主体类型的主体模块之间的引用关系,以及第三虚拟模块与至少两种页面类型的页面模块之间的引用关系。
在本申请实施例中,响应于至少两种主体类型的主体模块中包含目标主体模块,该目标主体模块是具有目标主体类型的主体模块;计算机设备可以调用第三加载器,对目标主体模块中的源代码文件进行编译格式转化,生成第三虚拟模块;编译格式转化是指将第一编译格式转换为第二编译格式。
由于小程序项目的文件引用是在json文件中的,比如,app文件对页面文件的引用是在app.json文件中的,且小程序项目中没有require/import语句,无法被mplow所读取,因此,需要对json文中的代码进行编译格式转化,以使得mplow可以进行读取和处理,因此,该目标主体模块可以是app.json模块,图7示出了本申请一示例性实施例示出的对app.json中的源代码文件进行编译格式转化的示意图,如图7所示,app.json模块中的源代码文件是基于第一编译格式即依赖声明格式编译的,基于第三加载器,即mplow中的app-json-loader,将第一编译格式转化为第二编译格式,即引用格式,获得第三虚拟模块710,该第三虚拟模块表示为:app-json-loader!app.json。
在获取到第三虚拟模块之后,计算机设备通过建立第三虚拟模块与第一虚拟模块之间的引用关系,以及第三虚拟模块与第二虚拟模块之间的引用关系,以构建以第一虚拟模块为起点的依赖图。
在本申请实施例中,响应于至少两种页面类型的页面模块中包含目标页面模块,计算机设备可以调用第四加载器,对目标页面模块进行编译格式转化,生成第四虚拟模块;编译格式转化是指将第一编译格式转换为第二编译格式。
该目标页面模块可以是page.json模块,该第四加载器可以是mpflow中的page-json-loader,第四加载器通过对page.json模块中的源代码从依赖声明格式转化为引用格式,使得mpflow能够对代码内容进行读取,并生成第四虚拟模块,示意性的,当page.json模块为pages/index/index.json时,该第四虚拟模块可以表示为:page-json-loader!pages/iindex/index.json。
在获取到第四虚拟模块之后,计算机设备可以构建第四虚拟模块与第二虚拟模块之间的引用关系,以生成该依赖图。
步骤560,基于依赖图输出源代码对应的至少两个主体构建产物,至少两个主体构建产物与至少两种主体类型一一对应;该主体构建产物中包含对应主体类型的主体模块。
在一种可能的实现方式中,可以基于模块类型对依赖图进行分割,获得两种模块组合;两种模块组合包括至少两种主体类型的主体模块对应的第一模块组合,以及至少两种页面类型的页面模块对应的第二模块组合。
图8示出了本申请一示例性实施例提供的依赖图的示意图,如图8所示,该依赖图中包含第一虚拟模块810,第二虚拟模块820,第三虚拟模块830以及第四虚拟模块840,同时还包含与各个虚拟模块具有引用关系的主体模块和/或页面模块,以及用以表示各个模块之前的引用关系的标识,即图示中具有指向性的箭头;基于各个模块所对应的类型,可以将依赖图划分为两种模块组合,示意性的,可以基于loader处理类型的不同进行模块组合划分,比如,以app-loader和page-loader实现模块组合划分;每种模块组合中包含的模块组合数量可以不同,示意性的,小程序中包含一个主体部分以及多个页面部分,因此,第一模块组合数量可以是1个,第二模块组合的数量可以是多个;图8以依赖图中包含一个第一模块组合850与一个第二模块组合860为例进行示意,但不对第一模块组合与第二模块组合的数量进行限制,示意性的,该第一模块组合可以称为Chunk APP,该第二模块组合可以称为Chunk Index。
在输出源代码对应的至少两个主体构建产物时,可以基于第一模块组合,输出源代码对应的至少两个主体构建产物。
在本申请实施例中,还可以输出源代码对应的至少两个页面构建产物,该过程可以实现为:
基于第二模块组合,输出源代码对应的至少两个页面构建产物;至少两个页面构建产物,与至少两种页面类型一一对应;该页面构建产物中包含对应页面类型的页面模块。
以基于第一模块组合,输出源代码对应的至少两个主体构建产物为例,图9示出了本申请一示例性实施例示出的输出主体构建产物的示意图,如图9所示,每一个主体类型对应一个主体构建产物,即主体类型为js的主体模块对应输出app.js主体构建产物910,主体类型为json的主体模块对应输出app.json主体构建产物920,主体类型为wxss的主体模块对应输出app.wxss主体构建产物930;其中,在输出主体类型为js的主体模块对应的app.js主体构建产物910时,可以基于依赖分析过程中生成的第一虚拟模块和第三虚拟模块生成包含引用关系的app.js主体构建产物,以便于后续对主体构建产物的应用。
在本申请实施例中,至少两个主体构建产物包括编译格式分别为js、json以及wxss的构建产物;
至少两个页面构建产物包括编译格式分别js、json、wxss以及wxml的构建产物。
综上所述,本申请实施例提供的代码处理方法,通过生成与各个类型的主体文件相关联的第一类虚拟模块,并以该第一类虚拟模块为输入起点,基于各个模块之间得到引用关系构建依赖图,以基于该依赖图获取并输出源代码对应的至少两个主体构建产物,使得在对源代码进行处理的过程中,可以借助构建工具,实现对小程序项目的自动构建,提高对源代码的处理效率,同时,由于在构建过程中,充分考虑了各个模块之间的代码依赖,提高了对源代码对应的项目的构建效果。
在执行本申请提供的代码处理方法时,需要对路径处理逻辑进行设置,包括模块查找,loader查找,资源查找以及资源输出等。mpflow中包含路径处理模块,以该代码处理方法是对小程序的源文件进行处理为例,可以路径处理模块是基于小程序的路径处理逻辑进行内部流程修改后获得的,以使得路径处理模块的路径解析贴合小程序路径逻辑;示意性的,可以通过插件对内部流程进行修改。其中,小程序路径逻辑包括:小程序的根路径为工作路径;允许在package.json中通过miniprogram字段指定目录,其中package.json是小程序项目根目录下的文件,其定义了这个项目所需要的各种模块,以及项目的配置信息,比如名称、项目、许可证等元数据;默认读取npm包(Node Package Manager,Node包管理器)的miniprogran_dist目录;解析获得的app所在路径外的模块,需要输出到miniprogran_npm目录。
路径分为:绝对路径,相对路径以及模块路径。
图10示出了本申请一示例性实施例示出的mpflow路径处理流程的示意图,如图10所示,mpflow中的路径解析模块,在mpflow的整体处理流程中的resolve的流程包括:
S1001,触发resolve事件。
S1002,检查文件路径是否有替换名,若有,则执行S1003,否则,执行S1004。
S1003,将文件路径替换为替换名,之后执行S1004。
S1004,判断目标路径是否为模块路径;若是则执行步骤S1005,否则,执行步骤S1010。
对于未进行替换名替换的文件路径而言,该目标路径即为文件路径;对于经过替换名替换的文件路径而言,该目标路径为替换之后获得的路径。
S1005,从模块路径寻找node_modules。
查找相对当前模块的路径下是否存在文件或文件夹,若是文件则直接加载;若是文件夹则继续查找。
S1006,从node_modules寻找fs/package.json。
S1007,查找package.json中的miniprogram fied路径。
S1008,查找package.json中mainfied路径。
S1006至S1008中若存在任意一步未找到相应路径或文件,则返回上一级目录重新进行查找;重复指定次数上述查询过程后,仍未查找到目标路径,表示基于模块路径无法查询到该目标路径,则执行S1009。
若基于S1005至S1008查询到目标路径,则返回步骤S1002。
S1009,将该目标路径当做相对路径处理。
S1010,判断该目标路径是否为根路径,若是,执行S1011,否则执行S1012。
S1011,添加小程序根路径,以转换为小程序工作空间后,执行S1012。
S1012,判断目标路径是否为相对路径,若是,执行S1013,否则执行解析过程。
S1013,将目标路径转换为绝对路径后,执行解析过程。
图11是本申请一示例性实施例提供的代码处理装置的方框图,如图11所示,该装置包括:
第一获取模块1110,用于获取至少两种主体类型的主体模块,所述主体模块对应源代码中的程序主体文件;
第一生成模块1120,用于生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块;
依赖图构建模块1130,用于以所述第一虚拟模块为输入起点,构建依赖图;所述依赖图包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系;
主体构建产物输出模块1140,用于基于所述依赖图输出所述源代码对应的至少两个主体构建产物,所述至少两个主体构建产物与所述至少两种主体类型一一对应;所述主体构建产物中包含对应主体类型的主体模块。
在一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取至少两种页面类型的页面模块,所述页面模块对应源代码中的程序页面文件;
第二生成模块,用于生成与所述至少两种页面类型的页面模块相关联的第二虚拟模块;
所述依赖图构建模块1130,用于以所述第一虚拟模块为输入起点,基于所述第一虚拟模块以及所述第二虚拟模块,构建所述依赖图;所述依赖关系图中包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系,以及所述第三虚拟模块与所述至少两种页面类型的页面模块之间的引用关系。
在一种可能的实现方式中,所述装置还包括:
组合获取模块,用于基于模块类型对所述依赖图进行分割,获得两种模块组合;所述两种模块组合包括所述至少两种主体类型的主体模块对应的第一模块组合,以及至少两种页面类型的页面模块对应的第二模块组合;
所述主体构建产物输出模块1140,用于基于所述第一模块组合,输出所述源代码对应的至少两个主体构建产物。
在一种可能的实现方式中,所述装置还包括:
页面构建产物输出模块,用于基于所述第二模块组合,输出所述源代码对应的至少两个页面构建产物;所述至少两个页面构建产物,与所述至少两种页面类型一一对应;所述页面构建产物中包含对应页面类型的页面模块。
在一种可能的实现方式中,所述第一生成模块1120,用于调用第一加载器,对所述至少两种主体类型的主体模块中的程序主体文件进行关联,生成所述第一虚拟模块。
在一种可能的实现方式中,所述第二生成模块,用于调用第二加载器,对所述至少两种页面类型的页面模块中的程序页面文件相关联,生成所述第二虚拟模块。
在一种可能的实现方式中,响应于至少两种主体类型的主体模块中包含目标主体模块,所述目标主体模块是具有目标主体类型的主体模块;所述装置还包括:
第三生成模块,用于调用第三加载器,对所述目标主体模块中的源代码文件进行编译格式转化,生成第三虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
所述依赖图构建模块1130,用于建立所述第三虚拟模块与所述第一虚拟模块之间的引用关系,以及所述第三虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
在一种可能的实现方式中,响应于至少两种页面类型的页面模块中包含目标页面模块,所述装置还包括:
第四生成模块,用于调用第四加载器,对所述目标页面模块进行编译格式转化,生成第四虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
所述依赖图构建模块1130,用于建立所述第四虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
在一种可能的实现方式中,响应于所述源文件是基于第一类编译语言编译的代码文件,所述第一生成模块1120,包括:
第一转化子模块,用于调用所述第一加载器,将至少两种主体类型的主体模块中的程序主体文件转化为主体转化文件;所述主体转化文件是基于第二类编译语言编译的代码文件;
第一生成子模块,用于调用所述第一加载器,对至少两种主体类型的主体模块中的所述主体转化文件进行关联,生成所述第一虚拟模块。
在一种可能的实现方式中,响应于所述源文件是基于第一类编译语言编译的代码文件,所述第二生成模块,包括:
第二转化子模块,用于调用所述第二加载器,将至少两种页面类型的页面模块中的程序页面文件转化为页面转化文件;所述页面转化文件是基于第二类编译语言编译的代码文件;
第二生成子模块,用于调用所述第二加载器,对至少两种类型的页面模块中的所述页面转化文件进行关联,生成所述第三虚拟模块。
在一种可能的实现方式中,所述第一类编译语言为非小程序编译语言,所述第二类编译语言为小程序编译语言。
在一种可能的实现方式中,所述至少两个主体构建产物包括编译格式分别为js、json以及wxss的构建产物;
所述至少两个页面构建产物包括编译格式分别js、json、wxss以及wxml的构建产物。
综上所述,本申请实施例提供的代码处理装置,通过生成与各个类型的主体文件相关联的第一类虚拟模块,并以该第一类虚拟模块为输入起点,基于各个模块之间得到引用关系构建依赖图,以基于该依赖图获取并输出源代码对应的至少两个主体构建产物,使得在对源代码进行处理的过程中,可以借助构建工具,实现对小程序项目的自动化构建,提高对源代码的处理效率,同时,由于在构架过程中,充分考虑了各个模块之间的代码依赖,提高了对源代码对应的项目的构建效果。
图12是根据一示例性实施例示出的计算机设备1200的结构框图。该计算机设备1200可以是本申请实施例中的终端。
通常,计算机设备1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,计算机设备1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
在一些实施例中,计算机设备1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
本领域技术人员可以理解,图12中示出的结构并不构成对计算机设备1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是根据一示例性实施例示出的计算机设备1300的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。
所述计算机设备1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-OnlyMemory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,中央处理器1301通过执行该至少一条指令、至少一段程序、代码集或指令集来实现上述各个实施例所示的代码处理方法中的全部或者部分步骤。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图2或图5任一实施例所示的方法的全部或者部分步骤。例如,非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图5任一实施例所示方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种代码处理方法,其特征在于,所述方法包括:
获取至少两种主体类型的主体模块,所述主体模块对应源代码中的程序主体文件;
生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块;
以所述第一虚拟模块为输入起点,构建依赖图;所述依赖图包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系;
基于所述依赖图输出所述源代码对应的至少两个主体构建产物,所述至少两个主体构建产物与所述至少两种主体类型一一对应;所述主体构建产物中包含对应主体类型的主体模块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取至少两种页面类型的页面模块,所述页面模块对应源代码中的程序页面文件;
生成与所述至少两种页面类型的页面模块相关联的第二虚拟模块;
所述以所述第一虚拟模块为输入起点,构建依赖图,包括:
以所述第一虚拟模块为输入起点,基于所述第一虚拟模块以及所述第二虚拟模块,构建所述依赖图;所述依赖关系图中包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系,以及所述第三虚拟模块与所述至少两种页面类型的页面模块之间的引用关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于模块类型对所述依赖图进行分割,获得两种模块组合;所述两种模块组合包括所述至少两种主体类型的主体模块对应的第一模块组合,以及至少两种页面类型的页面模块对应的第二模块组合;
所述基于所述依赖图输出所述源代码对应的至少两个主体构建产物,包括:
基于所述第一模块组合,输出所述源代码对应的至少两个主体构建产物。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述第二模块组合,输出所述源代码对应的至少两个页面构建产物;所述至少两个页面构建产物,与所述至少两种页面类型一一对应;所述页面构建产物中包含对应页面类型的页面模块。
5.根据权利于要求1或2所述的方法,其特征在于,所述生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块,包括:
调用第一加载器,对所述至少两种主体类型的主体模块中的程序主体文件进行关联,生成所述第一虚拟模块。
6.根据权利要求2所述的方法,其特征在于,所述生成与所述至少两种页面类型的页面模块相关联的第二虚拟模块,包括:
调用第二加载器,对所述至少两种页面类型的页面模块中的程序页面文件相关联,生成所述第二虚拟模块。
7.根据权利要求2所述的方法,其特征在于,响应于至少两种主体类型的主体模块中包含目标主体模块,所述目标主体模块是具有目标主体类型的主体模块;所述以所述第一虚拟模块为输入起点,基于所述第一虚拟模块以及所述第二虚拟模块,构建所述依赖图,包括:
调用第三加载器,对所述目标主体模块中的源代码文件进行编译格式转化,生成第三虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
建立所述第三虚拟模块与所述第一虚拟模块之间的引用关系,以及所述第三虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
8.根据权利要求2所述的方法,其特征在于,响应于至少两种页面类型的页面模块中包含目标页面模块,所述以所述第一虚拟模块为输入起点,基于所述第一虚拟模块以及所述第二虚拟模块,构建所述依赖图,包括:
调用第四加载器,对所述目标页面模块进行编译格式转化,生成第四虚拟模块;所述编译格式转化是指将第一编译格式转换为第二编译格式;
建立所述第四虚拟模块与所述第二虚拟模块之间的引用关系,以构建所述依赖图;
其中,所述第一编译格式包括依赖声明格式,所述第二编译格式包括引用格式。
9.根据权利要求5所述的方法,其特征在于,响应于所述源文件是基于第一类编译语言编译的代码文件,所述调用第一加载器,对所述至少两种主体类型的主体模块中的程序主体文件进行关联,生成所述第一虚拟模块,包括:
调用所述第一加载器,将至少两种主体类型的主体模块中的程序主体文件转化为主体转化文件;所述主体转化文件是基于第二类编译语言编译的代码文件;
调用所述第一加载器,对至少两种主体类型的主体模块中的所述主体转化文件进行关联,生成所述第一虚拟模块。
10.根据权利要求6所述的方法,其特征在于,响应于所述源文件是基于第一类编译语言编译的代码文件,所述调用第二加载器,对所述至少两种页面类型的页面模块中的程序页面文件相关联,生成所述第二虚拟模块,包括:
调用所述第二加载器,将至少两种页面类型的页面模块中的程序页面文件转化为页面转化文件;所述页面转化文件是基于第二类编译语言编译的代码文件;
调用所述第二加载器,对至少两种类型的页面模块中的所述页面转化文件进行关联,生成所述第三虚拟模块。
11.根据权利要求9或10所述的方法,其特征在于,所述第一类编译语言为非小程序编译语言,所述第二类编译语言为小程序编译语言。
12.根据权利要求4所述的方法,其特征在于,所述至少两个主体构建产物包括编译格式分别为js、json以及wxss的构建产物;
所述至少两个页面构建产物包括编译格式分别js、json、wxss以及wxml的构建产物。
13.一种代码处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取至少两种主体类型的主体模块,所述主体模块对应源代码中的程序主体文件;
第一生成模块,用于生成与所述至少两种主体类型的主体模块相关联的第一虚拟模块;
依赖图构建模块,用于以所述第一虚拟模块为输入起点,构建依赖图;所述依赖图包含所述第一虚拟模块与所述至少两种主体类型的主体模块之间的引用关系;
主体构建产物输出模块,用于基于所述依赖图输出所述源代码对应的至少两个主体构建产物,所述至少两个主体构建产物与所述至少两种主体类型一一对应;所述主体构建产物中包含对应主体类型的主体模块。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至12任一所述的代码处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至12任一所述的代码处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909269.1A CN115904334A (zh) | 2021-08-09 | 2021-08-09 | 代码处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110909269.1A CN115904334A (zh) | 2021-08-09 | 2021-08-09 | 代码处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904334A true CN115904334A (zh) | 2023-04-04 |
Family
ID=86486855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110909269.1A Pending CN115904334A (zh) | 2021-08-09 | 2021-08-09 | 代码处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904334A (zh) |
-
2021
- 2021-08-09 CN CN202110909269.1A patent/CN115904334A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
EP3971706A2 (en) | Method, apparatus and electronic device for deploying operator in deep learning frame work | |
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
CN105718289A (zh) | 一种组件关系建立方法及其设备 | |
CN111740948B (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN104272704A (zh) | 用于描述云环境从属物的元应用程序 | |
CN111818175B (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN103853535A (zh) | 修改中间件的方法和装置 | |
CN111143446A (zh) | 数据对象的数据结构转换处理方法、装置及电子设备 | |
CN112966824A (zh) | 推理库的部署方法、装置和电子设备 | |
CN113778445A (zh) | 一种跨平台组件生成方法、装置、电子设备及存储介质 | |
CN110688145B (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
JP6002302B2 (ja) | Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN109408057B (zh) | 自动生成代码的方法、装置、介质和计算设备 | |
CN115904334A (zh) | 代码处理方法、装置、计算机设备及存储介质 | |
CN111782196A (zh) | 基于mvp架构的开发方法及装置 | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
CN111273913B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40085246 Country of ref document: HK |