CN112835568A - 一种项目构建方法和装置 - Google Patents
一种项目构建方法和装置 Download PDFInfo
- Publication number
- CN112835568A CN112835568A CN201911165865.2A CN201911165865A CN112835568A CN 112835568 A CN112835568 A CN 112835568A CN 201911165865 A CN201911165865 A CN 201911165865A CN 112835568 A CN112835568 A CN 112835568A
- Authority
- CN
- China
- Prior art keywords
- project
- configuration information
- file
- files
- packaging
- 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/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种项目构建方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。该方法在项目配置信息中为项目文件设置特征标记,以基于特征标记编译项目文件,实现了对多个项目文件的启动管理。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种项目构建方法和装置。
背景技术
近年来前端技术如雨后春笋般蓬勃发展,随着ES6模块、Babel转换、webpack打包等新技术的出现,前端应用完全可以使用模块化的方式完成,便于维护。在前端技术不断发展的潮流下,前端开发人员需要耗费巨大的精力关注开发、构建阶段的模块依赖、文件打包等流程,一定程度上降低了开发效率。因此,能够开箱即用的构建工具深受前端开发人员的青睐,比如Creact-react-app。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的构建工具仅能管理单个项目;开发界面不可视;无法灵活修改webpack配置;依赖包只能在线安装。
发明内容
有鉴于此,本发明实施例提供一种项目构建方法和装置,在项目配置信息中为项目文件设置特征标记,以基于特征标记编译项目文件,实现了对多个项目文件的启动管理。
为实现上述目的,根据本发明实施例的一个方面,提供了一种项目构建方法。
本发明实施例的一种项目构建方法,包括:获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。
可选地,采用打包工具,按照预定义的打包配置信息编译所述项目文件的步骤之前,所述方法还包括:监听归属于所述项目管理列表的项目文件是否存在设定操作;如果未监听到归属于所述项目管理列表的项目文件存在所述设定操作,则不做处理;采用打包工具,按照预定义的打包配置信息编译所述项目文件,包括:如果监听到归属于所述项目管理列表的项目文件存在所述设定操作,则采用打包工具,按照预定义的打包配置信息编译所述项目文件。
可选地,所述设定操作为对所述项目文件执行修改或者保存操作。
可选地,所述方法还包括:对归属于所述项目管理列表的项目文件执行构建命令,以采用打包工具对所述项目文件进行打包,生成第二静态文件。
可选地,所述方法还包括:检测设定端口集,确定目标端口,以在执行所述启动命令时,指定所述目标端口为本地开发环境的端口;启动所述本地开发环境,接收通过所述目标端口发送的访问请求,以在浏览器上展示所述第一静态文件。
可选地,所述方法还包括:通过插件形式的应用程序接口接收更新的打包配置信息;按照预定义的打包配置信息编译所述项目文件,包括:按照更新后的打包配置信息编译所述项目文件。
可选地,所述方法还包括:内置所述本地开发环境和生产环境所使用的依赖包,以离线安装所述依赖包。
为实现上述目的,根据本发明实施例的另一方面,提供了一种项目构建装置。
本发明实施例的一种项目构建装置,包括:项目创建模块,用于获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;项目管理模块,用于扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;项目启动模块,用于对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。
可选地,所述装置还包括:监听处理模块,用于监听归属于所述项目管理列表的项目文件是否存在设定操作;如果未监听到归属于所述项目管理列表的项目文件存在所述设定操作,则不做处理;所述项目启动模块,还用于:如果监听到归属于所述项目管理列表的项目文件存在所述设定操作,则采用打包工具,按照预定义的打包配置信息编译所述项目文件。
可选地,所述设定操作为对所述项目文件执行修改或者保存操作。
可选地,所述装置还包括:项目构建模块,用于对归属于所述项目管理列表的项目文件执行构建命令,以采用打包工具对所述项目文件进行打包,生成第二静态文件。
可选地,所述装置还包括:展示模块,用于检测设定端口集,确定目标端口,以在执行所述启动命令时,指定所述目标端口为本地开发环境的端口;启动所述本地开发环境,接收通过所述目标端口发送的访问请求,以在浏览器上展示所述第一静态文件。
可选地,所述装置还包括:信息更新模块,用于通过插件形式的应用程序接口接收更新的打包配置信息;按照预定义的打包配置信息编译所述项目文件,包括:按照更新后的打包配置信息编译所述项目文件。
可选地,所述装置还包括:内置模块,用于内置所述本地开发环境和生产环境所使用的依赖包,以离线安装所述依赖包。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种项目构建方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种项目构建方法。
上述发明中的一个实施例具有如下优点或有益效果:在项目配置信息中为项目文件设置特征标记,以基于特征标记编译项目文件,实现了对多个项目文件的启动管理;通过监听开发者对项目文件是否存在设定动作,确定需要编译的项目文件,提高编译效率、节约资源开销;开发者开发完成后,可以执行构建命令,完成生产环境的构建;在本地开启服务器,使得开发者可以在浏览器访问服务器查看当前项目的内容,实现了可视化开发;提供插件形式的应用程序接口,以对打包配置信息进行灵活修改;内置依赖包,实现依赖包的离线安装。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一实施例的项目构建方法的主要步骤的示意图;
图2是根据本发明又一实施例的项目构建方法的主要流程示意图;
图3是根据本发明另一实施例的项目构建方法的主要流程示意图;
图4是根据本发明再一实施例的项目构建方法的主要流程示意图;
图5是根据本发明一实施例的项目构建装置的主要模块的示意图;
图6是根据本发明又一实施例的项目构建装置的主要模块的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面对本发明涉及到的技术术语进行解释说明。
ES6:是JavaScript语言的下一代标准。
Babel:是一个JavaScript的编译器。
Webpack:主要是将JavaScript文件打包在一起,打包后的文件用于在浏览器中使用。
JavaScript:一种直译式脚本语言。
Creact-react-app:用于构建React开发环境,React是一个用于构建用户界面的JavaScript库。
git:分布式版本控制系统。
图1是根据本发明一实施例的项目构建方法的主要步骤的示意图。如图1所示,本发明实施例的项目构建方法,主要包括如下步骤:
步骤S101:获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件。该步骤用于创建新项目。项目基本信息包括项目名称、项目描述等,项目描述包括执行的命令和该命令对应需要执行的任务。项目模板即已经设计好的网页页面。项目配置信息包括项目名称、版本号、git仓库地址、特征标记等,其中,特征标记用于标识该项目是否为指定工具开发的项目。修改项目配置信息即基于用户输入的项目基本信息,写入项目名称、项目描述、版本号等。基于项目配置信息和项目模板生成项目文件。
步骤S102:扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表。扫描目标目录下所有的文件夹,每个文件夹中均包含项目配置信息,根据项目配置信息的特征标记的取值,确定该项目是否为指定工具开发的项目。提取指定工具开发的项目,得到项目管理列表。比如,将指定工具开发的项目对应的特征标记设置为1,非指定工具开发的项目对应的特征标记设置为9,则可以提取特征标记为1的项目,得到项目管理列表。
步骤S103:对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。执行启动命令即执行npm start命令,启动本地开发环境,之后使用打包工具,比如webpack,按照打包配置信息编译包含在项目管理列表的项目文件,生成第一静态文件。其中,打包配置信息包括入口文件、出口文件、加载器、插件等,用于加载资源,打包资源。后续可以在本地开启服务器,开发者可以在浏览器访问该服务器查看第一静态文件的内容。
开发者所开发的项目,可能是一个完整的web应用,也可能只是web应用的一个区块,区块即不具备应用完整性的、一部分的应用。开发区块可以方便功能上的复用,因此需要对项目进行管理,尤其需要对多个区块类型的项目进行管理。下面结合图2进行详细说明。
图2是根据本发明又一实施例的项目构建方法的主要流程示意图。如图2所示,本发明实施例的项目构建方法(该方法对应的装置及项目构建装置),主要包括如下步骤:
步骤S201:获取项目基本信息和项目模板,根据项目基本信息修改项目配置信息,以生成多个项目文件。项目基本信息有开发者输入,包括项目名称、项目描述等。项目描述,比如:commit:“git-cz”,commit即要执行的命令,git-cz即执行命令时,计算机操作系统会执行的任务。之后将项目模板拷贝到本地,其中,项目模板可以是自定义生成。修改项目配置信息,按照开发者的输入在项目配置信息中写入项目名称、项目描述、版本号等信息。根据项目模板确定项目需要的依赖包,项目配置信息和依赖包构成项目文件。
开发者需要构建的项目有多个,此时需要对项目进行管理,管理内容包括项目的启动、更新、构建。本实施例中,在项目配置信息中设置一个特征标记来表示该项目是否为指定工具创建的项目。在一优选的实施例中,项目配置信息为package.json文件,在package.json文件中设置一个属性字段,用于标记该项目是否通过本实施例的项目构建装置来创建。
步骤S202:扫描归属于目标目录的文件夹,以根据项目配置信息的特征标记确定项目管理列表。扫描当前一级目录下的所有文件夹,默认一个文件夹即为一个项目,每个文件夹下均存在package.json文件。基于package.json文件中标记项目是否是通过本实施例的项目构建装置来创建的属性字段。扫描完成后,便可以获取当前一级目录下所有使用本实施例的项目构建装置来创建的项目管理列表。
步骤S203:监听归属于项目管理列表的项目文件是否存在设定操作,如果存在设定操作,则执行步骤S204;如果不存在设定操作,则不做处理。其中,设定操作为对项目文件执行修改或者保存操作。项目启动后,默认为懒编译,即一开始不对所有项目进行编译,以节约时间开销和资源开销,而且该方式支持热更新,提高开发者体验。具体为:当开发者打开项目文件对应代码,对项目文件代码进行修改或者保存操作时,本实施能够监听到开发者的上述行为,之后对存在上述行为的项目文件进行编译,其余项目文件不作处理。
步骤S204:读取预定义的打包配置信息,对存在设定操作的项目文件执行启动命令,以启动本地开发环境,采用打包工具生成第一静态文件。打包配置信息由开发者自定义,包括入口文件、出口文件、加载器、插件等。
实施例中,打包工具即webpack。执行npm start命令启动本地开发环境,使用webpackDevServer命令启动本地服务器,之后使用webpack编译项目文件生成第一静态文件。其中,webpackDevServer是webpack官方提供的一个小型Express服务器。在一优选的实施例中,启动本地开发环境的同时,可以启动后台服务,用于展示当前项目的配置信息。
步骤S205:检测设定端口集,确定目标端口,以在执行启动命令时,指定目标端口为本地服务器的端口。检测当前可用端口,并确定一个可用的端口作为目标端口。在执行npm start命令时,将确定的目标端口作为本地服务器的端口。
步骤S206:接收通过目标端口发送的访问请求,以在浏览器上展示第一静态文件。开发者通过目标端口访问本地开发环境的服务器,服务器将第一静态文件反馈至客户端的浏览器进行显示,以方便开发者查看第一静态文件的内容。
图2所示实施例在本地开发环境实现了项目开发,开发者能够通过指定服务器看到项目内容。开发者开发完成之后,还可以构建生产环境的代码,在构建完成后,开发者可以根据自己的需求上传到不同服务器,供用户浏览。下面结合图3进行详细说明。
图3是根据本发明另一实施例的项目构建方法的主要流程示意图。如图3所示,本发明实施例的项目构建方法,主要包括以下步骤:
步骤S301:获取项目基本信息和项目模板,根据项目基本信息修改项目配置信息,以生成多个项目文件。该步骤的实现过程与步骤S201相同,此处不再赘述。
步骤S302:扫描归属于目标目录的文件夹,以根据项目配置信息的特征标记确定项目管理列表。该步骤的实现过程与步骤S202相同,此处不再赘述。
步骤S303:监听归属于项目管理列表的项目文件是否存在设定操作,如果存在设定操作,则执行步骤S304;如果不存在设定操作,则不做处理。该步骤的实现过程与步骤S203相同,此处不再赘述。
步骤S304:读取定义的打包配置信息,对存在设定操作的项目文件执行启动命令,以启动本地开发环境,采用打包工具生成第一静态文件。该步骤的实现过程与步骤S204相同,此处不再赘述。
步骤S305:检测设定端口集,确定目标端口,以在执行启动命令时,指定目标端口为本地开发环境的端口。该步骤的实现过程与步骤S205相同,此处不再赘述。
步骤S306:接收通过目标端口发送的访问请求,以在浏览器上展示第一静态文件。该步骤的实现过程与步骤S206相同,此处不再赘述。
步骤S307:读取打包配置信息,对存在设定操作的项目文件执行构建命令,以采用打包工具对项目文件进行打包,生成第二静态文件。执行nmp build命令即可完成生产环境的构建。该命令会生产带有哈希值的文件,实施例中可使用-nohash参数去除哈希值。构建过程中完成了代码的压缩、代码的质量及语法检查。采用webpack编译项目文件生成第二静态文件。
需要注意的是,在执行构建命令时,可以对指定项目文件(即存在设定操作的项目文件)打包,也可以对当前文件夹下的所有项目文件同时构建,方便管理多个子项目。
步骤S308:将第二静态文件部署到服务器,以通过服务器浏览第二静态文件。构建完成后发者可根据自己的需求上传到不同的服务器,供用户浏览。假设项目文件为某个html(hyper text markup language,超文本标记语言)网页对应的代码文件,经webpack编译得到静态文件,在浏览器中打开该静态文件,即可看到该html网页。
上述实施例创建的项目,主要使用react框架来开发,配套的依赖包有react以及react-dom,如果需要数据管理,则使用redux依赖包或者mobxredux依赖包;如果需要ui(user interface,用户界面)库,则使用antd依赖包。这些依赖包的安装,通常需要访问外国网站,如果在线安装,安装速度很慢,而且长时间安装不成功,可能存在一系列报错信息,大量花费开发者时间。
为了解决上述问题,在一优选的实施例中,可以将依赖包内置到项目构建装置,用户在安装本实施例的项目构建装置时,即可安装完成这些依赖包。具体地,如果本地网络异常,使用yarn install命令安装依赖包时,默认会走本地资源,直接将依赖包安装到项目中。如果本地网络正常,使用yarn install命令安装依赖包时,依然也会走本地资源,极大的减少安装依赖包的时间,同时避免了安装报错的可能性。另外,对于多个区块类型的项目,内置依赖包的方式可以快速创建区块,无需对每个区块安装依赖包,提高开发效率。
图4是根据本发明再一实施例的项目构建方法的主要流程示意图。如图4所示,本发明实施例的项目构建方法,主要包括以下步骤:
步骤S401:安装项目构建装置,初始化项目。开发者可以使用npm installrocketact–g命令进行全局安装。本实施例的项目构建装置安装在全局目录中,在计算机的任意位置均可使用本装置创建、开发、构建项目。
在项目目录下使用rocketact createprojectName命令初始化项目。初始化过程中,本实施例的项目构建装置会下载初始化项目需要的文件以及依赖包。这些文件比如html、css、js等文件,依赖包比如react、vue等,初始化完成后,即可进行项目的开发。
步骤S402:启动本地开发项目。启动项目之前需约定项目根目录的page文件夹下的入口文件与html文件名相同,方便打包工具识别。入口文件即系统被访问时的第一个文件。本实施例中,项目可以包含单页面,也可以包含多页面。单页面指的是依靠路由只在一个页面里面切换不同的内容,多页面是指依靠路由在多个页面切换内容。如果项目包含多页面,则可以创建多个入口文件,即为每个页面创建一个入口文件。后续使用打包工具打包时,需要读取目录,确定构建的是单页面还是多页面。
执行npm start命令可启动本地开发环境。本地开发环境支持SASS预编译、热更新、代码检查等基本功能。同时执行npm start命令时,可指定本地开发环境的端口号,实施例中以port参数为端口号,以启动本地服务器,并端口号访问。本地开发环境启动后,会生成一个可视化的web界面,在该界面可进行页面管理、依赖管理,即可完成依赖包的升级、依赖包的删除、新依赖包的安装等操作。并且无需关闭开发环境也无需开启多个命令行窗口,为前端开发者带来极大的便利。
在开发阶段,如果img标签引用本地图片,则可以使用ES6语法完成图片的导入;如果从CSS中引入图片,则可以使用相对路径的引用方式引用,本实施例的项目构建装置最终会完成图片的加载构建。该步骤的具体实现见步骤S201和步骤S206,此处不再赘述。
步骤S403:修改打包配置信息。项目构建装置中包含预定义的打包配置信息。开发者可以通过插件的形式修改打包配置信息。本实施例中,插件均以webpack-chain的形式将修改后的配置加入项目构建装置,方便开发者根据自己的业务需求灵活定制。
实施例中,插件包括chainWebpack、registerCommand、resolveWebpackConfig这三个应用程序接口(API)。其中,chainWebpack用于通过链式操作修改打包配置信息;registerCommand用于注册命令,在相应命令执行时,注册的内容可执行;resolveWebpackConfig用于取回解析好的打包配置信息。
步骤S404:构建生产环境。开发者完成开发之后,需要构建生产环境的代码。执行npm build命令即可完成生产环境的构建。该步骤的具体实现见步骤S307和步骤S308,此处不再赘述。构建过程中完成了代码的压缩、代码的质量及语法检查。构建完成后,开发者可根据自己的需求上传到不同的服务器,供用户浏览。
通过本发明实施例的项目构建方法可以看出,在项目配置信息中为项目文件设置特征标记,以基于特征标记编译项目文件,实现了对多个项目文件的启动管理;通过监听开发者对项目文件是否存在设定动作,确定需要编译的项目文件,提高编译效率、节约资源开销;开发者开发完成后,可以执行构建命令,完成生产环境的构建;在本地开启服务器,使得开发者可以在浏览器访问服务器查看当前项目的内容,实现了可视化开发;提供插件形式的应用程序接口,以对打包配置信息进行灵活修改;内置依赖包,实现依赖包的离线安装。
图5是根据本发明一实施例的项目构建装置的主要模块的示意图。如图5所示,本发明实施例的项目构建装置500,主要包括:
项目创建模块501,用于获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件。该模块用于创建新项目。项目基本信息包括项目名称、项目描述等,项目描述包括执行的命令和该命令对应需要执行的任务。项目模板即已经设计好的网页页面。项目配置信息包括项目名称、版本号、git仓库地址、特征标记等,其中,特征标记用于标识该项目是否为指定工具开发的项目。修改项目配置信息即基于用户输入的项目基本信息,写入项目名称、项目描述、版本号等。基于项目配置信息和项目模板生成项目文件。
项目管理模块502,用于扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表。扫描目标目录下所有的文件夹,每个文件夹中均包含项目配置信息,根据项目配置信息的特征标记的取值,确定该项目是否为指定工具开发的项目。提取指定工具开发的项目,得到项目管理列表。比如,将指定工具开发的项目对应的特征标记设置为1,非指定工具开发的项目对应的特征标记设置为9,则可以提取特征标记为1的项目,得到项目管理列表。
项目启动模块503,用于对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。执行启动命令即执行npm start命令,启动本地开发环境,本地开发环境启动后,默认打开一个可视化的web界面,在该界面可进行页面管理、依赖管理。
之后使用打包工具,比如webpack,按照打包配置信息编译包含在项目管理列表的项目文件,生成第一静态文件。其中,打包配置信息包括入口文件、出口文件、加载器、插件等,用于加载资源,打包资源。后续可以在本地开启服务器,开发者可以在浏览器访问该服务器查看第一静态文件的内容。
另外,本发明实施例的项目构建装置500还可以包括:监听处理模块、展示模块、信息更新模块和内置模块(图5中未示出)。其中,监听处理模块,用于监听归属于所述项目管理列表的项目文件是否存在设定操作;如果未监听到归属于所述项目管理列表的项目文件存在所述设定操作,则不做处理。
展示模块,用于检测设定端口集,确定目标端口,以在执行所述启动命令时,指定所述目标端口为本地开发环境的端口;启动所述本地开发环境,接收通过所述目标端口发送的访问请求,以在浏览器上展示所述第一静态文件。
信息更新模块,用于通过插件形式的应用程序接口接收更新的打包配置信息;按照预定义的打包配置信息编译所述项目文件,包括:按照更新后的打包配置信息编译所述项目文件。内置模块,用于内置所述本地开发环境和生产环境所使用的依赖包,以离线安装所述依赖包。
图6是根据本发明又一实施例的项目构建装置的主要模块的示意图。图如6所示,本发明实施例的项目构建装置600,主要包括:项目创建模块501、项目管理模块502、项目启动模块503和项目构建模块604。项目管理模块502管理项目启动模块503和项目构建模块604的执行。其中,项目构建模块604,用于对归属于项目管理列表的项目文件执行构建命令,以采用打包工具对项目文件进行打包,生成第二静态文件。
从以上描述可以看出,本实施例为开发者提了供灵活、方便、可视化的构建工具(即项目构建装置),降低了项目构建难度,能够支持windows、mac等多个平台,并且可以通过可视化界面直观查看当前项目页面及依赖包。同时,可视化的构建工具方便开发者灵活管理页面和依赖包,并且无需关闭当前的开发进程就可以完成依赖包的安装。灵活的插件机制可方便开发者根据自己的业务实现webpack的定制。提供多项目管理功能,方便开发者同时开发多个项目。提供离线安装功能,为开发者提供便利,提高开发者的工作效率。
图7示出了可以应用本发明实施例的项目构建方法或项目构建装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如管理员利用终端设备701、702、703发送的项目基本信息进行处理的后台管理服务器。后台管理服务器可以修改项目配置信息,生成项目文件,扫描目标目录,执行启动命令等数据处理,并将处理结果(例如第一静态文件)反馈给终端设备。
需要说明的是,本申请实施例所提供的项目构建方法一般由服务器705执行,相应地,项目构建装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。
本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种项目构建方法。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种项目构建方法。
下面参考图8,其示出了适用于来实现本发明实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有计算机系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括项目创建模块、项目管理模块和项目启动模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,项目创建模块还可以被描述为“获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。
从以上描述可以看出,在项目配置信息中为项目文件设置特征标记,以基于特征标记编译项目文件,实现了对多个项目文件的启动管理。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种项目构建方法,其特征在于,包括:
获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;
扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;
对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。
2.根据权利要求1所述的方法,其特征在于,采用打包工具,按照预定义的打包配置信息编译所述项目文件的步骤之前,所述方法还包括:
监听归属于所述项目管理列表的项目文件是否存在设定操作;
如果未监听到归属于所述项目管理列表的项目文件存在所述设定操作,则不做处理;
采用打包工具,按照预定义的打包配置信息编译所述项目文件,包括:
如果监听到归属于所述项目管理列表的项目文件存在所述设定操作,则采用打包工具,按照预定义的打包配置信息编译所述项目文件。
3.根据权利要求2所述的方法,其特征在于,所述设定操作为对所述项目文件执行修改或者保存操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对归属于所述项目管理列表的项目文件执行构建命令,以采用打包工具对所述项目文件进行打包,生成第二静态文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测设定端口集,确定目标端口,以在执行所述启动命令时,指定所述目标端口为本地开发环境的端口;
启动所述本地开发环境,接收通过所述目标端口发送的访问请求,以在浏览器上展示所述第一静态文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过插件形式的应用程序接口接收更新的打包配置信息;
按照预定义的打包配置信息编译所述项目文件,包括:按照更新后的打包配置信息编译所述项目文件。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
内置所述本地开发环境和生产环境所使用的依赖包,以离线安装所述依赖包。
8.一种项目构建装置,其特征在于,包括:
项目创建模块,用于获取项目基本信息和项目模板,根据所述项目基本信息修改项目配置信息,以生成多个项目文件;其中,所述项目配置信息包括为所述项目文件设置的特征标记;
项目管理模块,用于扫描归属于目标目录的文件夹,以根据所述特征标记确定项目管理列表;
项目启动模块,用于对归属于所述项目管理列表的项目文件执行启动命令,以采用打包工具,按照预定义的打包配置信息编译所述项目文件,生成第一静态文件。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911165865.2A CN112835568A (zh) | 2019-11-25 | 2019-11-25 | 一种项目构建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911165865.2A CN112835568A (zh) | 2019-11-25 | 2019-11-25 | 一种项目构建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112835568A true CN112835568A (zh) | 2021-05-25 |
Family
ID=75922249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911165865.2A Pending CN112835568A (zh) | 2019-11-25 | 2019-11-25 | 一种项目构建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835568A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535182A (zh) * | 2021-06-30 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 项目工程的构建方法、装置、计算机设备和存储介质 |
CN113542249A (zh) * | 2021-07-08 | 2021-10-22 | 昆明学院 | 一种多协议数据发布系统 |
CN113849217A (zh) * | 2021-08-30 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 资源打包方法、装置、电子设备及存储介质 |
-
2019
- 2019-11-25 CN CN201911165865.2A patent/CN112835568A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535182A (zh) * | 2021-06-30 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 项目工程的构建方法、装置、计算机设备和存储介质 |
CN113535182B (zh) * | 2021-06-30 | 2023-02-17 | 上海浦东发展银行股份有限公司 | 项目工程的构建方法、装置、计算机设备和存储介质 |
CN113542249A (zh) * | 2021-07-08 | 2021-10-22 | 昆明学院 | 一种多协议数据发布系统 |
CN113849217A (zh) * | 2021-08-30 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 资源打包方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829186B2 (en) | System and methods for integration of an application runtime environment into a user computing environment | |
CN111381852A (zh) | 基于Flutter的应用动态更新方法、装置、存储介质及电子设备 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN110795649A (zh) | 目标页面展示方法、装置、系统及电子设备 | |
CN113760324A (zh) | 构建微前端应用的方法和装置 | |
US9361086B1 (en) | Collating and intelligently sequencing installation documentation | |
CN107463406A (zh) | 发布移动应用的方法和电子设备 | |
CN113268245A (zh) | 代码分析方法、装置及存储介质 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
CN112087370A (zh) | 发布GitHub Issues的方法、系统、电子设备和计算机可读存储介质 | |
CN114443076A (zh) | 镜像构建方法、装置、设备及存储介质 | |
CN107608672B (zh) | 一种ui模块管理器、ui模块管理方法和系统 | |
CN115543440A (zh) | 安卓项目迁移到类安卓系统的方法、电子设备和存储介质 | |
CN112596854A (zh) | 一种持续集成流水线运行的方法和装置 | |
US10120661B2 (en) | Multi-flavored software execution from a singular code base | |
CN109408057B (zh) | 自动生成代码的方法、装置、介质和计算设备 | |
CN112181408A (zh) | 在应用程序前端页面显示视图列表的方法和装置 | |
CN114527993A (zh) | 应用程序部署方法、装置、设备及介质 | |
KR20080027293A (ko) | 데이터 언어에서 다수 언어들의 관리 | |
CN113918525A (zh) | 数据交换调度方法、系统、电子设备、介质及程序产品 | |
CN113312900A (zh) | 数据校验的方法和装置 | |
CN113361286A (zh) | 信息提示方法和装置 | |
CN112256326B (zh) | 信息的处理方法、装置、设备及存储介质 | |
CN115686475A (zh) | 标准化服务sdk自动化生成方法及其相关设备 |
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 |