1.本技术涉及计算机技术领域,尤其涉及一种项目构建方法、装置、设备及存储介质。
背景技术:
2.前端开发项目可以采用多页面应用或单页面应用的模式,多页面应用每次页面跳转均需要刷新所有公共资源,而单页面应用每次页面跳转只需要刷新局部资源,公共资源仅开始时加载一次,因此单页面应用的使用,可以加快页面的呈现,降低加载所用的等待时间。目前可以将已有项目从多页面应用重构为单页面应用,而原来用于完成打包构建的gulp工具不再适用于单页面应用,因此可以改为利用webpack工具,来实现对项目的打包构建。但通过分析项目需求后重写代码来完成webpack配置,耗时较长,影响项目构建效率。
技术实现要素:
3.为解决上述问题,本技术实施例提供一种项目构建方法、装置、设备及存储介质,可以节省重构后项目的构建工具所需的配置时间,提高项目构建效率。
4.第一方面,本技术实施例提供一种项目构建方法,包括:
5.确定第一构建工具安装完成,获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;
6.基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;
7.基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
8.在一种可能的实现方式中,所述第一构建工具包括webpack,所述确定第一构建工具安装完成,包括:确定所述webpack安装完成。
9.在一种可能的实现方式中,所述第二构建工具包括gulp,所述基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,包括:
10.确定所述已配置文件中是否包括目标关键字,所述目标关键字与所述gulp的属性相关;
11.若确定所述已配置文件中包括目标关键字,基于所述目标关键字对所述第一构建工具的初始配置文件进行修改。
12.在一种可能的实现方式中,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:
13.若所述目标关键字为表示gulp入口文件的关键字,则基于所述目标关键字,对所述初始配置文件中的入口文件对象进行配置。
14.在一种可能的实现方式中,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:
15.若所述目标关键字为表示gulp输出文件的关键字,则基于所述目标关键字,对所
述初始配置文件中的输出文件对象进行配置。
16.在一种可能的实现方式中,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:
17.若所述目标关键字属于第一类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的加载器,所述第一类型的关键字与所述项目包括的源文件相关。
18.在一种可能的实现方式中,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:
19.若所述目标关键字属于第二类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的插件,所述第二类型的关键字与所述gulp的功能属性相关。
20.第二方面,本技术实施例提供一种项目构建装置,包括:
21.确定单元,用于确定第一构建工具安装完成;
22.获取单元,用于获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;
23.修改单元,用于基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;
24.构建单元,用于基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
25.在一种可能的设计中,所述第一构建工具包括webpack,所述确定单元具体用于:确定所述webpack安装完成。
26.在一种可能的设计中,所述第二构建工具包括gulp,所述修改单元具体用于:
27.确定所述已配置文件中是否包括目标关键字,所述目标关键字与所述gulp的属性相关;
28.若确定所述已配置文件中包括目标关键字,基于所述目标关键字对所述第一构建工具的初始配置文件进行修改。
29.在一种可能的设计中,所述修改单元具体用于:
30.若所述目标关键字为表示gulp入口文件的关键字,则基于所述目标关键字,对所述初始配置文件中的入口文件对象进行配置。
31.在一种可能的设计中,所述修改单元具体用于:
32.若所述目标关键字为表示gulp输出文件的关键字,则基于所述目标关键字,对所述初始配置文件中的输出文件对象进行配置。
33.在一种可能的设计中,所述修改单元具体用于:
34.若所述目标关键字属于第一类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的加载器,所述第一类型的关键字与所述项目包括的源文件相关。
35.在一种可能的设计中,所述修改单元具体用于:
36.若所述目标关键字属于第二类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的插件,所述第二类型的关键字与所述gulp的功能
属性相关。
37.第三方面,本技术实施例提供一种电子设备,所述电子设备包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行第一方面所述的方法。
38.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面所述的方法。
39.本技术实施例中,基于项目的第二构建工具的已配置文件,对该项目的第一构建工具的初始配置文件进行修改,获得第一构建工具的目标配置文件,并基于该目标配置文件利用第一构建工具对项目进行构建,使得利用第一构建工具取代第二构建工具来完成项目构建,并保证第一构建工具在该项目中能实现与第二构建工具相同的功能。通过对第二构建工具的分析来完成对第一构建工具的快速配置,在保证打包构建功能最大限度的保留的同时,节省重构后项目的构建工具所需的配置时间,提高项目构建效率。
附图说明
40.为了说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
41.图1为本技术实施例提供的一种项目构建方法的流程示意图;
42.图2为本技术实施例提供的一种项目构建装置的结构示意图;
43.图3为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
44.下面结合附图对本技术作进一步详细描述。
45.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。
46.在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
47.下面对本技术实施例中提到的一些专业术语进行介绍。
48.node.js:是一个运行在服务端的框架,是一个基于chrome v8引擎的javascript运行环境,使用事件驱动、非阻塞式i/o的模型,具有轻量高效的优点。
49.npm工具:是javascript世界的包管理工具,并且是node.js平台的默认包管理工具。通过npm可以安装、共享、分发代码,管理项目依赖关系。
50.gulp:是一个基于node的自动化构建工具,主要用来设定程序自动处理项目静态
资源的工作。简单的说,gulp就是用来打包项目的。
51.webpack:是一个基于node的自动化构建工具,本质上是一个模块管理和打包工具,它能把项目中的各种资源,例如js(以javascript语言编写的文件)、样式(含less/sass)、图片等都作为模块来使用和处理,它能够实现gulp的基本功能。
52.为了更清楚地描述本技术的方案,下面对本技术涉及的一些附图作进一步介绍。
53.请参见图1,图1为本技术实施例提供的一种项目构建方法的流程示意图。如图1所示,所述方法可以包括但不限于以下步骤101-步骤103。
54.步骤101,确定第一构建工具安装完成,获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录。
55.在本技术实施例中,项目根目录中已存储了第二构建工具的已配置文件,而实施本技术的目的是根据第二构建工具的功能,改为利用第一构建工具(该第一构建功能能实现第二构建工具在项目中的各种功能)来实现对项目的打包构建,因此需要先确定第一构建工具安装完成,也即确定第一构建工具在项目中已经安装,开发环境已经搭建完成,方便后续利用第一构建工具来完成对项目的打包构建。
56.其中,所述第一构建工具可以包括webpack,而确定第一构建工具安装完成即确定webpack安装完成,该过程是指:接收开发人员的webpack安装指令,采用包管理工具从网络中的应用服务器下载webpack安装包,在项目文件夹中安装webpack安装包,确定webpack安装完成。webpack安装包,是webpack这个构建工具的安装文件。示例性的,开发人员的webpack安装指令可以是指安装命令:npm install webpack webpack-cli-g,即安装webpack和webpack-cli(此工具用于在命令行中运行webpack),其中,-g表示对模块进行全局安装,而全局是指操作系统,因此全局安装后在操作系统的任何一个目录下都可以使用webpack所提供的指令。另外,还可以接收npm i命令,使得webpack库文件所需要的依赖文件也可以下载安装到项目文件夹(如node_modules文件夹)中。
57.可理解的,第二构建工具包括gulp,而webpack和gulp都是基于node环境的,因此在确定webpack完成之前,确定node环境已经搭建完成且npm工具也已经安装完成,从而后续可以通过npm命令下载webpack安装包。
58.本技术实施例中,确定第一构建工具安装完成之后,可以获取该第一构建工具的初始配置文件,也即获取webpack初始配置文件,该初始配置文件的文件名可以为webpack.config.js,保存在项目根目录中,而该初始配置文件包括以下几类信息:
59.(1)用于标识入口文件的entry对象,默认为空对象。该入口文件包括webpack脚本的打包起点的文件路径。
60.(2)用于标识输出文件的output对象,默认为空对象。该输出文件包括webpack脚本打包后的输出文件的文件名和文件路径,该文件路径可以包括绝对路径和相对路径。
61.(3)用于配置加载器loader的module对象,该对象包含一个属性名为rules的空数组。其中,loader是文件加载器,能够加载资源文件并对这些资源文件进行处理,资源文件可以包括html、js、css、图片等多种类型的静态资源。module对象用于配置如何处理文件,其属性rules用于定义多个规则,这些规则可以用于匹配对应的文件,并给对应的文件应用指定的loader。该rules数组中的每一项都用于描述如何处理对应的文件。
62.(4)用于配置插件的plugins数组,默认为一个空数组。其中,插件plugins是一个扩展器,可以用来增强webpack的功能,在webpack打包过程中执行相应的任务。
63.本技术实施例中,还可以获取第二构建工具的已配置文件,该已配置文件可以是gulp的配置文件,文件名为gulpfile.js,存储在项目根目录中,该已配置文件是项目重构前的原gulp脚本的编写和执行所用的文件。本技术可以利用该已配置文件,来实现对第一构建工具的初始配置文件的修改,从而使得项目重构后可以利用第一构建工具来取代第二构建工具,完成对项目的打包构建。通过该方式来实现利用第一构建工具构建项目,与根据项目需求重写相关代码相比,可以节省时间,提高构建效率。
64.步骤102,基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件。
65.本技术实施例中,上述第二构建工具包括gulp,所述基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改的过程,可以包括以下步骤:确定所述已配置文件中是否包括目标关键字,所述目标关键字与所述gulp的属性相关;若确定所述已配置文件中包括目标关键字,基于所述目标关键字对所述第一构建工具的初始配置文件进行修改。也即根据原来gulp的已配置文件的内容来分析gulp在项目中的作用,具体根据已配置文件是否包含目标关键字来确定gulp的作用,从而相应对第一构建工具的初始配置文件进行相应修改,使得第一构建工具能与gulp在项目中实现相同的功能。目标关键字与gulp的属性相关,可以一定程度上体现gulp的功能属性,示例性的,该目标关键字可以包括:clean、less、uglify等关键字。
66.可理解的,目标关键字包括不同的关键字,因而对第一构建工具的初始配置文件进行修改的具体操作与目标关键字相关,具体而言,可以根据目标关键字的类型,对初始配置文件相应的修改。
67.在一个实施例中,若所述目标关键字为表示gulp入口文件的关键字,则基于所述目标关键字,对所述初始配置文件中的入口文件对象进行配置。
68.示例性的,若确定已配置文件中包括目标关键字,且该目标关键字属于用于标识gulp入口文件的类型的关键字,例如,该目标关键字为source、input等被开发人员事先定义为gulp入口文件的关键字,那么相应的,可以对webpack初始配置文件中的entry对象进行修改配置。可理解的,若该目标关键字(如source)包含在已配置文件中的task任务的描述中,那么可以获取该task任务内中的gulp.src方法的第一个入参(该入参表示的入口文件的路径),将该入参作为webpack初始配置文件中的entry对象的属性,该entry对象的属性用于表示webpack的入口文件路径,从而实现了对webpack初始配置文件的修改。
69.在一个实施例中,若所述目标关键字为表示gulp输出文件的关键字,则基于所述目标关键字,对所述初始配置文件中的输出文件对象进行配置。
70.示例性的,若确定已配置文件中包括目标关键字,且目标关键字属于用于标识gulp输出文件的类型的关键字,例如,该目标关键字为output等被开发人员事先定义为gulp输出文件的关键字,那么相应的,可以对webpack初始配置文件中的output对象进行修改配置。可理解的,若该目标关键字(如source)包含在已配置文件中的task任务的描述中,那么可以获取该task任务内中的gulp.dest方法的入参(该入参标识输出文件的路径),将该入参作为webpack初始配置文件中的output对象的path属性的属性值,该output对象的
path属性用于表示webpack的输出文件路径,该路径可以是相对于项目根目录的相对路径;而该webpack配置文件中的output对象还包括filename属性,该filename属性用于表示webpack的输出文件的文件名,该文件名可以根据上述输出文件路径所对应的文件的文件名来确定。这样实现了对webpack初始配置文件的修改。
71.在一个实施例中,若所述目标关键字属于第一类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的加载器,所述第一类型的关键字与所述项目包括的源文件相关。
72.示例性的,若确定该已配置文件中包括目标关键字,且目标关键字属于第一类型的关键字,该第一类型的关键字与项目包括的源文件相关,例如,第一类型的关键字可以包括表示项目源文件的文件样式(如less)的关键字,该目标关键词表示gulp实现了对项目中与该目标关键词对应的文件进行编译处理的功能。那么相应的,webpack可以利用加载器loader实现对这些文件的处理,因此需要在webpack初始配置文件中配置与该目标关键词对应的loader。
73.具体的,若目标关键字为less关键字,该目标关键字包含在已配置文件中的task任务的描述中,对webpack初始配置文件进行修改的过程包括:确定处理less文件的loader在项目中安装完成,该loader的安装可以是通过执行命令npm i less-loader-d来完成的;向webpack初始配置文件中用于配置loader的module对象的rules数组中添加一个元素,该元素包括test属性和use属性,该test属性用于表示匹配规则,指示针对符合该匹配规则的文件进行处理,而该use属性用于接收一个数组,该数组包含上述匹配规则所使用的loader,示例性的,可以将该元素的test属性的属性值设置为/\.less$/,表示针对以.less结尾的文件进行处理,而将该元素的use属性的属性值设置为'style-loader','less-loader',表示先通过less-loader处理less文件,再通过styles-loader处理内联样式。可理解的,less文件是利用css样式的预处理语言less语言编写代码获得的文件,less语言的使用可以加快样式代码的编写速度,并提升样式代码的复用性。本技术中,确定已配置文件包括目标关键字less,在webpack初始配置文件中配置该目标关键字对应的loader,可以使得利用webpack构建项目时也能实现对less文件的编译处理,而直接根据原来gulp的已配置文件来对webpack初始配置文件进行修改,可以实现webpack的快速配置,节省完成打包构建所需的时间。
74.在一个实施例中,若所述目标关键字属于第二类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的插件,所述第二类型的关键字与所述gulp的功能属性相关。
75.示例性的,若确定该已配置文件中包括目标关键字,且目标关键字属于第二类型的关键字,该第二类型的关键字与gulp的功能属性相关,例如,该功能属性可以包括文件清除功能、文件压缩功能等,相应的第二类型的关键字包括clean、minifycss、uglify等关键字。那么webpack可以利用插件来实现相同的功能,因此需要在webpack初始配置文件中配置与该目标关键词对应的插件。
76.具体的,若目标关键字为clean关键字,该目标关键字包含在已配置文件中的task任务的描述中,对webpack初始配置文件进行修改的过程包括:确定文件清理的插件安装完成,该插件的安装可以是通过执行命令npm i clean-webpack-plugin-d来完成的;获取已
配置文件中包含clean关键字的任务中的gulp.src方法中第一个参数,该参数表示需要清理的文件目录的地址,如果没有该参数,则说明是默认清理输出目录的地址;根据该参数,向webpack配置文件中的plugins属性传入new实例,示例性的,传入new cleanwebpackplugin(['清理目录的地址']),该清理目录的地址即为该参数的值。而在webpack配置文件中的plugins属性传入new实例之前,还需要先通过require指令,将clean-webpack-plugin引入到该webpack配置文件中。利用文件清除功能可以保证输出文件目录下的文件不为之前打包的文件,从而避免打包文件重复出现,影响打包结果。
[0077]
具体的,若目标关键字为minifycss、uglify关键字,该目标关键字包含在已配置文件中的task任务的描述中,对webpack初始配置文件进行修改的过程包括:确定文件压缩的插件安装完成,该插件的安装可以是通过执行命令npm i optimize-css-assets-webpack-plugin-d以及npm i terser-webpack-plugin-d来完成的;向webpack配置文件中的plugins属性传入new实例,示例性的,传入new optimizecssassetsplugin()、new tersejsplugin()。而在webpack配置文件中的plugins属性传入new实例之前,还需要先通过require指令,将上述两种文件压缩的插件引入到该webpack配置文件中。上述文件压缩功能是指对项目的css文件和js文件的压缩,通过文件压缩可以减少文件资源包的体积,而对文件压缩后可以使得文件代码不可阅读,提升了代码的安全性。
[0078]
本技术中,确定已配置文件包括目标关键字,且该目标关键字属于第二类型的关键字,则在webpack初始配置文件中配置该目标关键字对应的插件,可以使得利用webpack构建项目时也能实现和gulp相同的功能,而直接根据原来gulp的已配置文件来对webpack初始配置文件进行修改配置,与根据项目需求重新编写代码相比,可以减少配置webpack所需的时间,提高项目打包构建的效率。
[0079]
步骤103,基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
[0080]
在一个实施例中,基于第二构建工具的已配置文件对第一构建工具的初始配置文件进行修改后,获得第一构建工具的目标配置文件,基于该目标配置文件,可以利用第一对构建工具对项目进行构建。可理解的,目标配置文件(也即webpack配置文件)是利用第一构建工具对项目进行构建所依赖的执行文件,当运行打包构建指令时,会加载目标配置文件中的配置信息,从而实现对项目中多种资源文件(如js、less、图片等)的处理打包,优化代码体积。而在利用第一构建工具对项目进行构建之前,可以接收开发人员的构建指令,响应于该指令,基于目标配置文件完成对项目的打包构建。
[0081]
本技术实施例中,基于项目的第二构建工具的已配置文件,对该项目的第一构建工具的初始配置文件进行修改,获得第一构建工具的目标配置文件,并基于该目标配置文件利用第一构建工具对项目进行构建,使得利用第一构建工具取代第二构建工具来完成项目构建,并保证第一构建工具在该项目中能实现与第二构建工具相同的功能。通过对第二构建工具的分析来完成对第一构建工具的快速配置,在保证打包构建功能最大限度的保留的同时,节省重构后项目的构建工具所需的配置时间,提高项目构建效率。
[0082]
请参见图2,图2为本技术实施例提供的一种项目构建装置的结构示意图。如图2所示,所述项目构建装置可以包括:
[0083]
确定单元11,用于确定第一构建工具安装完成;
[0084]
获取单元12,用于获取所述第一构建工具的初始配置文件,并获取第二构建工具
的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;
[0085]
修改单元13,用于基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;
[0086]
构建单元14,用于基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
[0087]
在一种可能的设计中,所述第一构建工具包括webpack,所述确定单元11具体用于:确定所述webpack安装完成。
[0088]
在一种可能的设计中,所述第二构建工具包括gulp,所述修改单元13具体用于:
[0089]
确定所述已配置文件中是否包括目标关键字,所述目标关键字与所述gulp的属性相关;
[0090]
若确定所述已配置文件中包括目标关键字,基于所述目标关键字对所述第一构建工具的初始配置文件进行修改。
[0091]
在一种可能的设计中,所述修改单元13具体用于:
[0092]
若所述目标关键字为表示gulp入口文件的关键字,则基于所述目标关键字,对所述初始配置文件中的入口文件对象进行配置。
[0093]
在一种可能的设计中,所述修改单元13具体用于:
[0094]
若所述目标关键字为表示gulp输出文件的关键字,则基于所述目标关键字,对所述初始配置文件中的输出文件对象进行配置。
[0095]
在一种可能的设计中,所述修改单元13具体用于:
[0096]
若所述目标关键字属于第一类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的加载器,所述第一类型的关键字与所述项目包括的源文件相关。
[0097]
在一种可能的设计中,所述修改单元13具体用于:
[0098]
若所述目标关键字属于第二类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的插件,所述第二类型的关键字与所述gulp的功能属性相关。
[0099]
其中,图2所示装置实施例的具体描述可以参照前述图1所示方法实施例的具体说明,在此不进行赘述。
[0100]
请参照图3,图3为本技术实施例提供的一种电子设备的结构示意图,如图3所示,所述电子设备可以包括:至少一个处理器1001,例如cpu,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图3所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及程序指令。
[0101]
在图3所示的电子设备中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
[0102]
确定第一构建工具安装完成,获取所述第一构建工具的初始配置文件,并获取第
二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;
[0103]
基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;
[0104]
基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
[0105]
需要说明的是,具体执行过程可以参见图1所示方法实施例的具体说明,在此不进行赘述。
[0106]
本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可以参见图1所示实施例的具体说明,在此不进行赘述。
[0107]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
技术特征:
1.一种项目构建方法,其特征在于,包括:确定第一构建工具安装完成,获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。2.如权利要求1所述的方法,其特征在于,所述第一构建工具包括webpack,所述确定第一构建工具安装完成,包括:确定所述webpack安装完成。3.如权利要求2所述的方法,其特征在于,所述第二构建工具包括gulp,所述基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,包括:确定所述已配置文件中是否包括目标关键字,所述目标关键字与所述gulp的属性相关;若确定所述已配置文件中包括目标关键字,基于所述目标关键字对所述第一构建工具的初始配置文件进行修改。4.如权利要求3所述的方法,其特征在于,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:若所述目标关键字为表示gulp入口文件的关键字,则基于所述目标关键字,对所述初始配置文件中的入口文件对象进行配置。5.如权利要求3所述的方法,其特征在于,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:若所述目标关键字为表示gulp输出文件的关键字,则基于所述目标关键字,对所述初始配置文件中的输出文件对象进行配置。6.如权利要求3所述的方法,其特征在于,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:若所述目标关键字属于第一类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的加载器,所述第一类型的关键字与所述项目包括的源文件相关。7.如权利要求3所述的方法,其特征在于,所述基于所述目标关键字对所述第一构建工具的初始配置文件进行修改,包括:若所述目标关键字属于第二类型的关键字,则基于所述目标关键字,在所述初始配置文件中配置与所述目标关键字对应的插件,所述第二类型的关键字与所述gulp的功能属性相关。8.一种项目构建装置,其特征在于,包括:确定单元,用于确定第一构建工具安装完成;获取单元,用于获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;修改单元,用于基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;构建单元,用于基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。
9.一种电子设备,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1-7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任一项所述的方法。
技术总结
本申请公开了一种项目构建方法、装置、设备及存储介质,该方法包括:确定第一构建工具安装完成,获取所述第一构建工具的初始配置文件,并获取第二构建工具的已配置文件,所述初始配置文件和所述已配置文件存储于项目根目录;基于所述第二构建工具的已配置文件,对所述第一构建工具的初始配置文件进行修改,获得所述第一构建工具的目标配置文件;基于所述目标配置文件,利用所述第一构建工具对所述项目进行构建。采用本申请可以节省重构后项目的构建工具的配置时间,提高项目构建效率。提高项目构建效率。提高项目构建效率。
技术研发人员:黄康
受保护的技术使用者:平安普惠企业管理有限公司
技术研发日:2022.02.17
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-10570.html