CN109857397A - 项目构建的方法、装置和存储介质 - Google Patents
项目构建的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109857397A CN109857397A CN201910048151.7A CN201910048151A CN109857397A CN 109857397 A CN109857397 A CN 109857397A CN 201910048151 A CN201910048151 A CN 201910048151A CN 109857397 A CN109857397 A CN 109857397A
- Authority
- CN
- China
- Prior art keywords
- project
- built
- code
- build
- shared
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种项目构建的方法、装置和存储介质,该方法包括:接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识;根据待构建项目的标识,获取共有代码和待构建项目的独有代码;根据共有代码和待构建项目的独有代码,构建待构建项目的可执行文件。本发明通过将共有代码单独存储,在共有代码需要更新时,只需更新单独存储的共有代码,避免了现有技术中的将每个项目中的共有代码分别更新造成的构建效率低的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种项目构建的方法、装置和存储介质。
背景技术
网页Web前端项目的构建,是指将前端项目使用到的所有源代码,合并成一个或几个文件,方便html页面直接引用最终代码。由于前端项目具有非常复杂的代码和依赖文件,为了确保前端项目的可靠性,近年来出现了web pack、gulp、grunt等前端项目构建工具。
前端多个项目中存在有共有代码,且每个项目中存储有独有代码和共有代码;现有技术中的前端多项目构建过程中,分别将每个项目中存储的独有代码和共有代码打包成一个或多个可执行文件用于项目的发布。
这种多项目构建方式在每次共有代码有更新时,需要对所有的项目中存储的共有代码进行分别更新,以及分别打包才能进行发布,使得后期维护成本高,且同一个更新需要修改多次,效率低且出错率高。
发明内容
本发明提供一种项目构建的方法、装置和存储介质,通过将共有代码单独存储,在共有代码需要更新时,只需更新单独存储的共有代码,避免了现有技术中的将每个项目中的共有代码分别更新造成的构建效率低的问题。
本发明的第一方面提供一种项目构建的方法,包括:接收用户输入的项目构建指令,所述项目构建指令中包括待构建项目的标识;
根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码;
根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件。
可选的,所述根据所述待构建项目的标识,获取所述共有代码和所述待构建项目的独有代码之后,所述方法还包括:
根据所述待构建项目的标识,获取所述待构建项目的指令配置文件;
所述根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件,包括:
根据所述共有代码、所述待构建项目的独有代码和所述指令配置文件,构建所述待构建项目的可执行文件。
可选的,所述根据所述共有代码、所述待构建项目的独有代码和所述指令配置文件,构建所述待构建项目的可执行文件,包括:
根据所述指令配置文件,将所述共有代码和所述待构建项目的独有代码进行合并;
对合并后的所述共有代码和所述待构建项目的独有代码进行压缩、验证,构建所述待构建项目的可执行文件。
可选的,所述方法还包括:
接收所述用户输入的更新指令,所述更新指令中包括最新版本的共有代码;
根据所述最新版本的共有代码,对所述项目构建的装置中存储的所述共有代码进行更新。
可选的,所述接收用户输入的项目构建指令之前,所述方法还包括:
获取多个项目的源文件,每个所述项目的源文件中包括所述共有代码和每个所述项目对应的独有代码;
将所述共有代码进行提取,存储在第一目录中,且将多个所述项目的源文件中的所述共有代码删除;
将删除所述共有代码的多个所述项目的独有代码存储在第二目录中。
可选的,所述根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码,包括:
在所述第一目录中获取所述共有代码,且根据所述待构建项目的标识在所述第二目录中获取所述待构建项目的独有代码。
可选的,所述构建所述待构建项目的可执行文件之后,还包括:
对所述待构建项目的可执行文件进行发布。
本发明的第二方面提供一种项目构建的装置,包括:
项目构建指令接收模块,用于接收用户输入的项目构建指令,所述项目构建指令中包括待构建项目的标识;
代码获取模块,用于根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码;
构建模块,用于根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件。
可选的,所述装置还包括:指令配置文件获取模块;
所述指令配置文件获取模块,用于根据所述待构建项目的标识,获取所述待构建项目的指令配置文件,所述指令配置文件用于指示构建所述待构建项目的可执行文件;
可选的,所述构建模块,具体用于根据所述共有代码、所述待构建项目的独有代码和所述指令配置文件,构建所述待构建项目的可执行文件。
可选的,所述构建模块,具体用于根据所述指令配置文件,将所述共有代码和所述待构建项目的独有代码进行合并;
对合并后的所述共有代码和所述待构建项目的独有代码进行压缩、验证,构建所述待构建项目的可执行文件。
可选的,所述装置还包括:更新模块;
所述更新模块,用于接收所述用户输入的更新指令,所述更新指令中包括最新版本的共有代码;根据所述最新版本的共有代码,对所述项目构建的装置中存储的所述共有代码进行更新。
可选的,所述装置还包括:处理模块;
所述处理模块,用于获取多个项目的源文件,每个所述项目的源文件中包括所述共有代码和每个所述项目对应的独有代码;
将所述共有代码进行提取,存储在第一目录中,且将多个所述项目的源文件中的所述共有代码删除;
将删除所述共有代码的多个所述项目的独有代码存储在第二目录中。
可选的,所述代码获取模块,具体用于在所述第一目录中获取所述共有代码,且根据所述待构建项目的标识在所述第二目录中获取所述待构建项目的独有代码。
可选的,所述装置还包括:发布模块;
所述发布模块,用于对所述待构建项目的可执行文件进行发布。
本发明的第三方面提供一种项目构建的装置,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述项目构建的装置执行上述项目构建的方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现上述项目构建的方法。
本发明提供一种项目构建的方法、装置和存储介质,该方法包括:接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识;根据待构建项目的标识,获取共有代码和待构建项目的独有代码;根据共有代码和待构建项目的独有代码,构建待构建项目的可执行文件。本发明通过将共有代码单独存储,在共有代码需要更新时,只需更新单独存储的共有代码,避免了现有技术中的将每个项目中的共有代码分别更新造成的构建效率低的问题。
附图说明
图1为现有技术中的多项目代码存储的示意图;
图2为本发明提供的项目构建的方法的流程示意图一;
图3为本发明提供的项目构建的方法中的多项目代码存储的示意图;
图4为本发明提供的项目构建的装置的界面示意图;
图5为本发明提供的项目构建的方法的流程示意图二;
图6为本发明提供的项目构建的方法的流程示意图三;
图7为本发明提供的项目构建的装置的结构示意图一;
图8为本发明提供的项目构建的装置的结构示意图二;
图9为本发明提供的项目构建的装置的结构示意图三。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为现有技术中的多项目代码存储的示意图,如图1所示,前端多项目的每个项目中存储有独有代码和共有代码,示例性的,包括项目1、项目2……和项目n;每个项目可以根据对应存储的独有代码和共有代码,打包成一个或多个可执行文件进行发布;但当多项目中的共有代码有更新时,需要对每个项目中存储的共有代码逐个进行更新;针对每个项目更新后的共有代码和独有代码再进行打包进行发布;这个过程需要对所有项目中的共有代码进行更新,效率低且出错率高。
图2为本发明提供的项目构建的方法的流程示意图一,图2所示方法流程的执行主体可以为项目构建的装置,该项目构建的装置可由任意的软件和/或硬件实现。如图2所示,本实施例提供的项目构建的方法可以包括:
S201,接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识。
本实施例中,项目构建的装置可以为多个前端项目进行可执行文件的构建;具体的,该项目构建的装置中存储有多个项目的独有代码和所有项目的共有代码,其中,所有项目的共有代码与多个项目的独有代码分别单独存储。图3为本发明提供的项目构建的方法中的多项目代码存储的示意图,如图3所示,示例性的,项目1中存储有项目1对应的独有代码,项目2中存储有项目2对应的独有代码,……项目n中存储有项目n对应的独有代码,项目1至项目n中的共有代码单独存储,如存储在共有文件中。
其中,项目构建的装置可以显示有多个项目的标识和确定控件,该确定控件用于触发发送项目构建指令,具体的,该项目构建指令中包括待构建项目的标识,项目构建的装置在接收到该项目构建指令后,实现对项目进行可执行文件的构建。
示例性的,图4为本发明提供的项目构建的装置的界面示意图,如图4所示,该界面显示有多个项目的项目标识,如项目1、项目2,……项目n,每个项目对应有一个确定控件,用户通过点击或者其他操作方式进行选择项目对应的确定控件,即向项目构建的装置发送项目构建指令,每个构建指令中包括有对应项目的标识。
可以想到的是,该显示界面上可以显示有多个项目的项目标识,如项目1、项目2,……项目n,还显示有一个确定控件,用户通过点击或者其他操作方式进行选择项目对应的确定控件,即向项目构建的装置发送项目构建指令,其中,该构建指令中包括有项目1、项目2,……项目n的标识,即该项目构建指令用于指示对多个项目全部进行可执行文件的构建。
S202,根据待构建项目的标识,获取共有代码和待构建项目的独有代码。
本实施例中,项目构建的装置中可以对每个项目的独有代码单独存储,且每个独有代码携带有对应的项目标识;在项目构建的装置接收到用户的项目构建指令后,根据该指令中的待构建项目的标识,在多个项目的单独代码对应的项目标识中获取与该待构建项目的标识相同的标识,并获取该标识对应的独有代码,即为待构建项目的独有代码。
由于本实施例中的多个项目在构建可执行文件的过程中,均需要共有代码,因此在项目构建的装置接收到项目构建指令后,获取共有代码。
S203,根据共有代码和待构建项目的独有代码,构建待构建项目的可执行文件。
本实施例中,项目构建的装置获取共有代码和待构建项目的独有代码后,可以按照现有技术中的可执行文件的构建方式进行待构建项目的可执行文件的构建。具体的,可以对共有代码和待构建项目的独有代码进行合并、压缩以及校验过程,形成待构建项目的可执行文件。
可选的,每个项目中存储有配置文件,具体的,该配置文件用于指示构建项目的可执行文件的步骤;其中,每个项目中存储有配置文件可以不同。
示例性的,在项目构建的装置获取共有代码和待构建项目的独有代码后,根据待构建项目中存储的配置文件指示的可执行文件的构建步骤,对共有代码和待构建项目的独有代码进行对应的处理,以获取待构建项目的可执行文件。
本实施例提供的项目构建的方法包括:项目构建的装置中存储有多个项目的独有代码和所有项目的共有代码;接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识;根据待构建项目的标识,获取共有代码和待构建项目的独有代码;根据共有代码和待构建项目的独有代码,构建待构建项目的可执行文件。本实施例通过将共有代码单独存储,在共有代码需要更新时,只需更新单独存储的共有代码,避免了现有技术中的将每个项目中的共有代码分别更新造成的构建效率低的问题。
在上述实施例的基础上,下面结合图5对本发明提供的项目构建的方法中如何构建可执行文件进行详细说明,图5为本发明提供的项目构建的方法的流程示意图二,如图5所示,本实施例提供的项目构建的方法可以包括:
S501,获取多个项目的源文件。
本实施例中,在对项目进行构建、发布之前,需要在项目构建装置中存储多个项目的共有代码和每个项目对应的独有代码;具体的,项目构建装置可以获取多个项目的源文件。其中,该多个项目的源文件可以是由操作人员将项目的代码进行录入的。录入的每个项目的源文件包括共有代码和每个项目对应的独有代码,即与现有技术中的项目的代码相同。
S502,将共有代码进行提取,存储在第一目录中,且将多个项目的源文件中的共有代码删除,将删除共有代码的多个项目的独有代码存储在第二目录中。
由于本实施例中的所有的项目均包含有共有代码,项目构建装置可以根据代码比对的方式,将所有项目中的共有代码进行提取,具体的提取方式可以是将一个项目中的共有代码进行复制,并存储在第一目录中;本实施例中的第一目录可以是一个单独的文件夹。
进一步的,项目构建装置还将多个项目的源文件中的共有代码删除,将删除共有代码的多个项目的独有代码存储在第二目录中,其中,删除了共有代码的多个项目中只包含有该项目对应的独有代码;具体的,第二目录可以是一个单独的文件夹,且与第一目录对应的文件夹不同。值得注意的是,本实施例中在第二目录中还设置有子目录,将每个项目对应的独有代码分开存储,以便于每个项目的代码的查询、提取和更新。
指的注意的是,本实施例中的代码存储方式还是用于部分项目具有共有代码的情况;若只有部分代码具有共有代码,则项目构建装置首先对所有的项目对应的代码进行比对,将具有共有代码的项目中的共有代码进行抽取、存储在第一目录;将每个抽取共有代码后的项目对应的独有代码,以及,不具有共有代码的项目对应的所有代码存储在第二目录中。
S503,接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识。
S504,根据待构建项目的标识,获取共有代码和待构建项目的独有代码。
具体的,项目构建装置在第一目录中获取共有代码,且根据待构建项目的标识在第二目录中获取待构建项目的独有代码。
具体的获取方式具体可与上述实施例中S202中的代码获取方式相同,在此不做赘述。
S505,根据待构建项目的标识,获取待构建项目的指令配置文件。
本实施例中的项目构建的装置中存储有多个项目的指令配置文件,其中,指令配置文件用于指示构建项目的可执行文件的步骤;具体的,多个项目的指令配置文件可以与共有代码存储在同一位置,如均存储在共有文件中。
具体的,项目构建的装置中存储的多个项目的指令配置文件中的每个指令配置文件携带有项目的标识,项目构建装置可以根据待构建项目的标识,在多个项目的标识中获取与待构建项目的标识相同的标识,且将该标识对应的指令配置文件作为待构建项目的指令配置文件。
S506,根据共有代码、待构建项目的独有代码和指令配置文件,构建待构建项目的可执行文件。
具体的,在项目构建的装置获取待构建项目的指令配置文件后,该待构建项目的指令配置文件用于指示构建待构建项目的可执行文件的步骤。
本实施例中,项目构建的装置可以根据构建项目的指令配置文件指示的构建可执行文件的步骤对共有代码和待构建项目的独有代码进行处理,构建待构建项目的可执行文件。
示例性的,如该指令配置文件指示的构建可执行文件的步骤包括:合并、压缩和校验。相应的,项目构建的装置根据指令配置文件指示的构建可执行文件的步骤,对共有代码和待构建项目的独有代码进行合并、压缩和校验处理,进而获取待构建项目的可执行文件。
S507,对待构建项目的可执行文件进行发布。
本实施例中,项目构建的装置获取待构建项目的可执行文件后,可以根据该可执行文件对该待构建项目进行发布,其中,项目构建的装置中设置有发布功能,以实现对待构建项目的发布。具体的,项目构建的装置对该待构建项目进行发布过程具体可参照现有技术中的发布方法,在此不做赘述。
具体的,本实施例中的S503中的实施方式具体可参照上述实施例中的S201的相关描述,在此不作赘述。
下面对本发明提供的项目构建的方法的配置过程作以说明。实际过程中,在对多项目进行构建之间,需要对项目构建的装置进行基础配置。
1、首先在项目构建装置中初始化一个项目,输入多个项目的名称、版本等信息,使用命令行执行安装打包软件webpack;
2、其次获取多个项目中的共有代码和每个项目的独有代码,并将共有代码存储在第一目录中,该目录可以为commom目录;且将每个项目的独有代码存储在第二目录,该第二目录可以为预先为每个项目配置的目录,如config目录,并在每个项目对应的第二目录中标识每个项目的名称,具体可以在每个项目对应的第二目录中的config.js文件中标识每个项目的名称;
3、为config目录预先配置entry(入口文件)、output(出口文件)、loaders(加载器模块)和Plugins(插件),且在config目录下新增multipage.js文件和multipage.project.js文件。
其中,loaders用于在打包构建过程中处理源文件,如可以将具有不同格式的源文件(jsx,scss,less等格式)转化为统一的文件格式。具体的,loaders配置过程中需要配置以下几个方面:
a、处理模块test:用于匹配loaders所处理源文件的名称的正则表达式;
b、标识模块loader:用于表征loaders的名称;
可选的,还可以为loaders配置以下模块:
c、文件处理模块include/exclude,用于添加必须处理的文件或屏蔽不需要处理的文件;
d、设置模块query:为loaders提供额外的设置选项。
Plugins用于对多项目构建过程中的共有代码和独有代码进行压缩、合并、等构建流程。
multipage.project.js文件用于将现有技术中的一个项目入口/出口模式修改为多项目多个入口/出口模式。
4、为多项目构建过程配置运行脚本,当webpack安装完成,且在config配置完成后,进一步的配置不同环境变量npm脚本,npm可以引导任务执行,对npm进行配置后可以在命令行中使用简单的npm start命令来替代现有技术中的node_modules/.bin/webpack命令,即可触发多项目构建。
本实施例中,在项目构建的装置根据待构建项目的标识,获取共有代码和待构建项目的独有代码之后,还需要获取待构建项目的指令配置文件,待构建项目的指令配置文件用于指示构建待构建项目的可执行文件的步骤;根据该指令配置文件,项目构建的装置对共有代码和待构建项目的独有代码进行处理,构建待构建项目的可执行文件,以实现对不同的项目的不同的可执行文件的构建。
在上述实施例的基础上,下面结合图6对本发明提供的项目构建的方法进行进一步说明,图6为本发明提供的项目构建的方法的流程示意图三,如图6所示,本实施例提供的项目构建的方法可以包括:
S601,接收用户输入的更新指令,更新指令中包括最新版本的共有代码。
本实施例中提供的项目构建的方法主要是为了解决现有技术中的共有代码进行更新后,需要对每个项目中的共有代码均进行更新的问题。具体的,本实施例中在共有代码需要更新时,用户可以对项目构建的装置进行对应的操作,以触发向项目构建的装置发送更新指令;示例性的,项目构建的装置的显示界面上显示有更新控件,用户通过点击或者而其他操作选择该更新控件,以触发向项目构建的装置发送更新指令,具体的,该更新指令中包括最新版本的共有代码。
可选的,该最新版本的共有代码可以是由用户预先加载至该项目构建的装置中,在用户选择该更新控件后,项目构建的装置可以接收到该更新指令,以及该更新指令中的最新版本的共有代码。
值得注意的是,由于本实施例中针对性的解决共有代码更新的问题,在该更新指令中隐含包括有共有代码的标识,即在更新指令中包括有共有代码的标识和最新版本的共有代码。
可以想到的是,若项目构建的装置中存储的项目的独有代码也需要更新,则在更新指令中还可以包括项目的标识,以及最新版本的项目的独有代码。
S602,根据最新版本的共有代码,对项目构建的装置中存储的共有代码进行更新。
本实施例中,在项目构建的装置接收到该最新版本的共有代码后,可以删除项目构建的装置中存储的共有代码,将最新版本的共有代码存储在项目构建的装置中。
对应的,若更新指令中还包括项目的标识,以及最新版本的项目的独有代码,则需要对项目构建的装置中存储的项目的独有代码进行更新;其中,具体的更新方式可以为:根据更新指令中项目的标识,将项目构建的装置中存储的该项目对应的独有代码删除,并最新版本的独有代码存储在该项目中。
S603,接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识。
S604,根据待构建项目的标识,获取共有代码和待构建项目的独有代码。
值得注意的是,本实施例中,在项目构建的装置根据更新指令对其中的共有代码或者项目的独有代码进行更新后,再次对待构建项目进行可执行文件的构建时,根据待构建项目的标识,获取的是更新后的共有代码和待构建项目的更新后的独有代码。
对应的,下述步骤根据更新后的共有代码和待构建项目的更新后的独有代码,获取待构建项目的可执行文件的方式可以上述实施例中的方式相同;但值得注意的是,采用的均为更新后的共有代码和待构建项目的更新后的独有代码。
S605,根据待构建项目的标识,获取待构建项目的指令配置文件。
S606,根据共有代码、待构建项目的独有代码和指令配置文件,构建待构建项目的可执行文件。
S607,对待构建项目的可执行文件进行发布。
具体的,本实施例中的S603-S607中的实施方式具体可参照上述实施例中的S501-S505的相关描述,在此不作赘述。
本实施例中,项目构建的装置在对共有代码进行更新时,接收用户输入的更新指令,更新指令中包括最新版本的共有代码;根据最新版本的共有代码,对项目构建的装置中存储的共有代码进行更新,其具体的更新方式是删除项目构建的装置中存储的共有代码,将最新版本的共有代码存储在项目构建的装置中,再采用相同的方式对更新后的共有代码和待构建项目的更新后的独有代码进行可执行文件的构建,进而顺利对待构建项目进行发布。
图7为本发明提供的项目构建的装置的结构示意图一,如图7所示,该项目构建的装置700包括:项目构建指令接收模块701、代码获取模块702和构建模块703。
项目构建指令接收模块701,用于接收用户输入的项目构建指令,项目构建指令中包括待构建项目的标识。
代码获取模块702,用于根据待构建项目的标识,获取共有代码和待构建项目的独有代码。
构建模块703,用于根据共有代码和待构建项目的独有代码,构建待构建项目的可执行文件。
本实施例提供的项目构建的装置与上述项目构建的方法实现的原理和技术效果类似,在此不作赘述。
可选的,图8为本发明提供的项目构建的装置的结构示意图二,如图8所示,该项目构建的装置700还包括:指令配置文件获取模块704、更新模块705、发布模块706和处理模块707。
指令配置文件获取模块704,用于根据待构建项目的标识,获取待构建项目的指令配置文件,指令配置文件用于指示构建待构建项目的可执行文件。
可选的,构建模块703,具体用于根据共有代码、待构建项目的独有代码和指令配置文件,构建待构建项目的可执行文件。
可选的,构建模块703,具体用于根据指令配置文件,将共有代码和待构建项目的独有代码进行合并;对合并后的共有代码和待构建项目的独有代码进行压缩、验证,构建待构建项目的可执行文件。
更新模块705,用于接收用户输入的更新指令,更新指令中包括最新版本的共有代码;根据最新版本的共有代码,对项目构建的装置中存储的共有代码进行更新。
发布模块706,用于对待构建项目的可执行文件进行发布。
处理模块707,用于获取多个项目的源文件,每个项目的源文件中包括共有代码和每个项目对应的独有代码;将共有代码进行提取,存储在第一目录中,且将多个项目的源文件中的共有代码删除;将删除共有代码的多个项目的独有代码存储在第二目录中。
可选的,代码获取模块702,具体用于在第一目录中获取共有代码,且根据待构建项目的标识在第二目录中获取待构建项目的独有代码。
图9为本发明提供的项目构建的装置的结构示意图三,该项目构建的装置例如可以是终端设备,比如智能手机、平板电脑、计算机等。如图9所示,该项目构建的装置900包括:存储器901和至少一个处理器902。
存储器901,用于存储程序指令。
处理器902,用于在程序指令被执行时实现本实施例中的项目构建的方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
该项目构建的装置900还可以包括及输入/输出接口903。
输入/输出接口903可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据,上述输出的数据为上述方法实施例中输出的统称,输入的数据为上述方法实施例中输入的统称。
本发明还提供一种可读存储介质,可读存储介质中存储有执行指令,当项目构建的装置的至少一个处理器执行该执行指令时,当计算机执行指令被处理器执行时,实现上述实施例中的项目构建的方法。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。项目构建的装置的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得项目构建的装置实施上述的各种实施方式提供的项目构建的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述网络设备或者终端设备的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种项目构建的方法,其特征在于,包括:
接收用户输入的项目构建指令,所述项目构建指令中包括待构建项目的标识;
根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码;
根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码之后,所述方法还包括:
根据所述待构建项目的标识,获取所述待构建项目的指令配置文件;
所述根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件,包括:
根据所述共有代码、所述待构建项目的独有代码和所述指令配置文件,构建所述待构建项目的可执行文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述共有代码、所述待构建项目的独有代码和所述指令配置文件,构建所述待构建项目的可执行文件,包括:
根据所述指令配置文件,将所述共有代码和所述待构建项目的独有代码进行合并;
对合并后的所述共有代码和所述待构建项目的独有代码进行压缩、验证,构建所述待构建项目的可执行文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户输入的更新指令,所述更新指令中包括最新版本的共有代码;
根据所述最新版本的共有代码,对所述项目构建的装置中存储的所述共有代码进行更新。
5.根据权利要求1所述的方法,其特征在于,所述接收用户输入的项目构建指令之前,所述方法还包括:
获取多个项目的源文件,每个所述项目的源文件中包括所述共有代码和每个所述项目对应的独有代码;
将所述共有代码进行提取,存储在第一目录中,且将多个所述项目的源文件中的所述共有代码删除;
将删除所述共有代码的多个所述项目的独有代码存储在第二目录中。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码,包括:
在所述第一目录中获取所述共有代码,且根据所述待构建项目的标识在所述第二目录中获取所述待构建项目的独有代码。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述构建所述待构建项目的可执行文件之后,所述方法还包括:
对所述待构建项目的可执行文件进行发布。
8.一种项目构建的装置,其特征在于,包括:
项目构建指令接收模块,用于接收用户输入的项目构建指令,所述项目构建指令中包括待构建项目的标识;
代码获取模块,用于根据所述待构建项目的标识,获取共有代码和所述待构建项目的独有代码;
构建模块,用于根据所述共有代码和所述待构建项目的独有代码,构建所述待构建项目的可执行文件。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述项目构建的装置执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910048151.7A CN109857397A (zh) | 2019-01-18 | 2019-01-18 | 项目构建的方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910048151.7A CN109857397A (zh) | 2019-01-18 | 2019-01-18 | 项目构建的方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857397A true CN109857397A (zh) | 2019-06-07 |
Family
ID=66895194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910048151.7A Pending CN109857397A (zh) | 2019-01-18 | 2019-01-18 | 项目构建的方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857397A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309379A (zh) * | 2020-02-27 | 2020-06-19 | 平安健康保险股份有限公司 | 项目生成方法、装置、计算机设备和存储介质 |
CN111932207A (zh) * | 2020-08-06 | 2020-11-13 | 北京金山云网络技术有限公司 | 项目数据处理方法、装置、计算机设备和存储介质 |
CN112068849A (zh) * | 2020-09-08 | 2020-12-11 | 北京金山云网络技术有限公司 | 构建安装包的方法及装置、电子设备、计算机存储介质 |
CN116069325A (zh) * | 2023-01-28 | 2023-05-05 | 深圳市明源云采购科技有限公司 | 前端项目构建方法、装置、设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140331213A1 (en) * | 2008-10-03 | 2014-11-06 | Microsoft Corporation | Packaging system to facilitate declarative model-driven development |
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化系统和方法 |
CN107203401A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种前端项目构建方法、装置及系统 |
CN107632825A (zh) * | 2017-08-18 | 2018-01-26 | 深圳怡化电脑股份有限公司 | 一种业务软件开发方法及装置 |
CN108037933A (zh) * | 2017-11-03 | 2018-05-15 | 链家网(北京)科技有限公司 | 一种房产服务应用程序中城市服务的配置方法及系统 |
CN108519874A (zh) * | 2017-02-27 | 2018-09-11 | 腾讯科技(深圳)有限公司 | Python项目包的生成方法及装置 |
CN108984161A (zh) * | 2018-06-21 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种统一且可分类拓展的软件安装包构建方法和装置 |
CN109062568A (zh) * | 2018-06-19 | 2018-12-21 | 链家网(北京)科技有限公司 | 一种项目生成方法及工具 |
-
2019
- 2019-01-18 CN CN201910048151.7A patent/CN109857397A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140331213A1 (en) * | 2008-10-03 | 2014-11-06 | Microsoft Corporation | Packaging system to facilitate declarative model-driven development |
CN107203401A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种前端项目构建方法、装置及系统 |
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化系统和方法 |
CN108519874A (zh) * | 2017-02-27 | 2018-09-11 | 腾讯科技(深圳)有限公司 | Python项目包的生成方法及装置 |
CN107632825A (zh) * | 2017-08-18 | 2018-01-26 | 深圳怡化电脑股份有限公司 | 一种业务软件开发方法及装置 |
CN108037933A (zh) * | 2017-11-03 | 2018-05-15 | 链家网(北京)科技有限公司 | 一种房产服务应用程序中城市服务的配置方法及系统 |
CN109062568A (zh) * | 2018-06-19 | 2018-12-21 | 链家网(北京)科技有限公司 | 一种项目生成方法及工具 |
CN108984161A (zh) * | 2018-06-21 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种统一且可分类拓展的软件安装包构建方法和装置 |
Non-Patent Citations (1)
Title |
---|
神奇的小胖子: "webpack学习笔记--提取公共代码", 《HTTPS://WWW.CNBLOGS.COM/JOYCO773/P/9050913.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309379A (zh) * | 2020-02-27 | 2020-06-19 | 平安健康保险股份有限公司 | 项目生成方法、装置、计算机设备和存储介质 |
CN111932207A (zh) * | 2020-08-06 | 2020-11-13 | 北京金山云网络技术有限公司 | 项目数据处理方法、装置、计算机设备和存储介质 |
CN112068849A (zh) * | 2020-09-08 | 2020-12-11 | 北京金山云网络技术有限公司 | 构建安装包的方法及装置、电子设备、计算机存储介质 |
CN116069325A (zh) * | 2023-01-28 | 2023-05-05 | 深圳市明源云采购科技有限公司 | 前端项目构建方法、装置、设备及计算机可读存储介质 |
CN116069325B (zh) * | 2023-01-28 | 2023-08-04 | 深圳市明源云采购科技有限公司 | 前端项目构建方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857397A (zh) | 项目构建的方法、装置和存储介质 | |
CN105117233B (zh) | Api调用方法及装置 | |
CN104317843B (zh) | 一种数据同步etl系统 | |
CN107688618B (zh) | 数据对比方法、装置、计算机设备和存储介质 | |
CN102609328B (zh) | 系统差分升级方法和装置、移动终端 | |
CN110221968A (zh) | 软件测试方法及相关产品 | |
CN107609004B (zh) | 应用程序埋点方法和装置、计算机设备和存储介质 | |
KR20180038539A (ko) | 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템 | |
CN108762764A (zh) | 代码自动生成方法、装置、计算机设备及存储介质 | |
CN108876619B (zh) | 基于区块链智能合约的处理方法、装置、设备和介质 | |
CN105743680B (zh) | 一种集群部署方法及部署设备 | |
CN107273122A (zh) | 基于解耦机制的可迭代组建业务系统的方法及其终端 | |
CN104699515B (zh) | 一种基于Android操作系统的升级方法和智能终端 | |
CN108804322A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN109885744A (zh) | 网页数据爬取方法、装置、系统、计算机设备及存储介质 | |
CN101329633A (zh) | 一种软件升级的方法和软件升级装置 | |
CN109063011A (zh) | 日志处理方法、电子装置及计算机可读存储介质 | |
CN107239309A (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
CN109960538A (zh) | 一种配置界面管理方法、配置界面管理装置及电子设备 | |
CN109828759A (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
CN104572034A (zh) | 一种撤销和/或重做的实现方法和装置 | |
CN112256670A (zh) | 数据迁移方法、终端设备及可读存储介质 | |
CN112149035A (zh) | 网站静态资源处理方法及装置 | |
CN102662591A (zh) | 数据处理方法和装置 | |
CN111831320A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190607 |
|
RJ01 | Rejection of invention patent application after publication |