CN111724133A - 一种创建项目的方法及装置 - Google Patents
一种创建项目的方法及装置 Download PDFInfo
- Publication number
- CN111724133A CN111724133A CN202010567020.2A CN202010567020A CN111724133A CN 111724133 A CN111724133 A CN 111724133A CN 202010567020 A CN202010567020 A CN 202010567020A CN 111724133 A CN111724133 A CN 111724133A
- Authority
- CN
- China
- Prior art keywords
- project
- file
- projects
- static resource
- configuration information
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种创建项目的方法及装置,涉及网络技术领域,可以减少创建项目的耗时。具体方案包括:获取项目工程中待创建的一个或多个项目的配置信息;配置信息包括一个或多个项目的标识;通过项目工程的打包入口接收输入的文件夹路径;文件夹路径是用于保存项目工程中所有项目的文件夹的路径;根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种创建项目的方法及装置。
背景技术
随着互联网的广泛应用,前端开发变得越来越重要和复杂。每个项目工程(例如,一个应用或网站)可以由多个项目(例如,应用或网站为用户呈现的页面)组成,该多个项目的页面内容和页面交互方式等显示需求互不相同。其中,创建一个具有某种显示需求的项目可以看作一个运营活动。由于一个项目工程包括的每个项目往往是不需要长期迭代的,并且各个项目之间都是互不关联的,很少有代码或图片复用的情况,因此,在一个项目工程的长期开发过程中会积累许多项目。每次需要增加一个新的项目时,可以由开发人员编写好该新的项目的源代码;然后该源代码经过开发阶段和测试阶段后便可以发布到线上使用。
其中,在新的项目的源代码的开发阶段和测试阶段中,需要使用前端开发工具遍历该项目工程下的所有项目的源代码。该所有项目的源代码不仅包括该新的项目的源代码,还包括之前创建的项目的源代码。具体的,该前端开发工具可以对所有项目的源代码进行编译打包;再通过浏览器运行打包后的文件,以查看该新的项目的显示效果,并基于该新的项目的显示效果进行代码修改等操作。
可以看出,在一个项目工程中,每创建一个新的项目,在该新的项目的开发阶段和测试阶段,就需要对该项目工程的所有项目的源代码都进行编译打包,降低了开发效率和测试效率,增加了创建该新的项目的耗时。
发明内容
本申请实施例提供一种创建项目的方法及装置,可以减少创建项目的耗时。
为实现上述技术目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供了一种创建项目的方法,该方法包括:获取项目工程中待创建的一个或多个项目的配置信息;配置信息包括一个或多个项目的标识;通过项目工程的打包入口接收输入的文件夹路径;文件夹路径是用于保存项目工程中所有项目的文件夹的路径;根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件。
在一种可能的实施方式中,配置信息包括第一配置信息;第一配置信息包括开发阶段的一个或多个项目的标识。获取项目工程中待创建的一个或多个项目的配置信息,包括:在开发阶段,从开发项目数组获取第一配置信息;第一配置信息是开发人员在开发项目数组中添加的。
另一种可能的实施方式中,根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:在开发阶段,新建缓存文件;根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。在根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件之后,方法还包括:通过浏览器加载打包文件,展示开发阶段的一个或多个前端项目的页面显示效果。
另一种可能的实施方式中,在通过浏览器加载打包文件,展示开发阶段的一个或多个项目的页面显示效果之后,方法还包括:当开发阶段的一个或多个前端项目的静态资源文件被修改后,更新打包文件,并加载更新后的打包文件,展示开发阶段的一个或多个前端项目的修改后的页面显示效果。
另一种可能的实施方式中,开发阶段的一个或多个前端项目的修改后的静态资源文件,用于在测试阶段对开发阶段的一个或多个前端项目进行测试。
另一种可能的实施方式中,配置信息包括第二配置信息;第二配置信息包括测试阶段的一个或多个项目的标识。获取项目工程中待创建的一个或多个项目的配置信息,包括:在测试阶段,从测试项目数组获取第二配置信息;第二配置信息是开发人员在测试项目数组中添加的。
另一种可能的实施方式中,根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:在测试阶段,新建实体文件;根据文件夹路径和测试阶段的一个或多个项目的标识,获取测试阶段的一个或多个项目的静态资源文件;获取测试阶段的一个或多个项目的静态资源文件中每个静态资源文件的文件类型;采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件;预设标识信息包括实体文件的路径;对每个项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。在对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件之后,方法还包括:当接收到测试阶段的一个或多个前端项目中的目标前端项目的浏览指令时,响应于浏览指令,从打包文件中确定与目标前端项目的第二打包子文件;通过浏览器依次加载与目标前端项目的第二打包子文件中的一个或多个第一打包子文件,展示目标前端项目的页面显示效果。
另一种可能的实施方式中,预设标识信息还包括各个静态资源文件之间的引用关系。其中,采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件,包括:根据各个静态资源文件之间的引用关系,得到一个或多个静态资源文件的引用路径;引用路径表征静态资源文件所引用的静态资源文件的存储路径;根据每个静态资源文件的文件类型、一个或多个项目的标识、以及实体文件的路径,得到测试阶段的一个或多个项目的静态资源文件的实体文件存储路径;利用一个或多个静态资源文件的引用路径、以及测试阶段的一个或多个项目的静态资源文件的实体文件存储路径,标记对应的静态资源文件。
另一种可能的实施方式中,第二配置信息还包括测试阶段的一个或多个前端项目各自的页面路径后缀;页面路径后缀结合项目工程的访问路径表征所属的前端项目的页面链接。
第二方面,本申请实施例提供了一种创建项目的装置,该装置包括:配置信息获取模块和打包模块。其中,配置信息获取模块,用于获取项目工程中待创建的一个或多个项目的配置信息;配置信息包括一个或多个项目的标识。打包模块,用于通过项目工程的打包入口接收输入的文件夹路径;文件夹路径是用于保存项目工程中所有项目的文件夹的路径;根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件。
在一种可能的实施方式中,配置信息包括第一配置信息;第一配置信息包括开发阶段的一个或多个项目的标识。配置信息获取模块,用于获取项目工程中待创建的一个或多个项目的配置信息,包括:配置信息获取模块,具体用于在开发阶段,从开发项目数组获取第一配置信息;第一配置信息是开发人员在开发项目数组中添加的。
另一种可能的实施方式中,打包模块包括:开发打包模块。打包模块,用于根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:开发打包模块,用于在开发阶段,新建缓存文件;根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。装置还包括:浏览模块,用于在根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件之后,通过浏览器加载打包文件,展示开发阶段的一个或多个前端项目的页面显示效果。
另一种可能的实施方式中,打包模块,还用于在通过浏览器加载打包文件,展示开发阶段的一个或多个项目的页面显示效果之后,当开发阶段的一个或多个前端项目的静态资源文件被修改后,更新打包文件。浏览模块,还用于加载更新后的打包文件,展示开发阶段的一个或多个前端项目的修改后的页面显示效果。
另一种可能的实施方式中,开发阶段的一个或多个前端项目的修改后的静态资源文件,用于在测试阶段对开发阶段的一个或多个前端项目进行测试。
另一种可能的实施方式中,配置信息包括第二配置信息;第二配置信息包括测试阶段的一个或多个项目的标识。配置信息获取模块,用于获取项目工程中待创建的一个或多个项目的配置信息,包括:配置信息获取模块,具体用于在测试阶段,从测试项目数组获取第二配置信息;第二配置信息是开发人员在测试项目数组中添加的。
另一种可能的实施方式中,打包模块包括:测试打包模块。打包模块,用于根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:
测试打包模块,用于:在测试阶段,新建实体文件;根据文件夹路径和测试阶段的一个或多个项目的标识,获取测试阶段的一个或多个项目的静态资源文件;获取测试阶段的一个或多个项目的静态资源文件中每个静态资源文件的文件类型;采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件;预设标识信息包括实体文件的路径;对每个项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。装置还包括:浏览模块。浏览模块用于:在对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件之后,当接收到测试阶段的一个或多个前端项目中的目标前端项目的浏览指令时,响应于浏览指令,从打包文件中确定与目标前端项目的第二打包子文件;依次加载与目标前端项目的第二打包子文件中的一个或多个第一打包子文件,展示目标前端项目的页面显示效果。
另一种可能的实施方式中,预设标识信息还包括各个静态资源文件之间的引用关系。测试打包模块,用于采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件,包括:
测试打包模块,具体用于:根据各个静态资源文件之间的引用关系,得到一个或多个静态资源文件的引用路径;引用路径表征静态资源文件所引用的静态资源文件的存储路径;根据每个静态资源文件的文件类型、一个或多个项目的标识、以及实体文件的路径,得到测试阶段的一个或多个项目的静态资源文件的实体文件存储路径;利用一个或多个静态资源文件的引用路径、以及测试阶段的一个或多个项目的静态资源文件的实体文件存储路径,标记对应的静态资源文件。
另一种可能的实施方式中,第二配置信息还包括测试阶段的一个或多个前端项目各自的页面路径后缀;页面路径后缀结合项目工程的访问路径表征所属的前端项目的页面链接。
第三方面,本申请实施例还提供了一种服务器,该服务器包括:处理器和用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如第一方面及其任一种可能的实施方式的创建项目的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,其特征在于,当计算机指令在电子设备上运行时实现如第一方面及其任一种可能的实施方式的创建项目的方法。
第五方面,本申请实施例还提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以在计算机上运行,使得计算机执行如第一方面及其任一种可能的实施方式的创建项目的方法。
可以理解的是,本申请实施例提供的方法,获取项目工程中待创建的一个或多个项目的配置信息,该配置信息包括待创建的一个或多个项目的标识;再通过该项目工程的打包入口接收输入的文件夹路径;其中,该文件夹路径是用于保存该项目工程中所有项目的文件夹的路径,也就是说,通过该文件夹路径可以定位到保存该项目工程中所有项目的文件夹;那么,再利用该配置信息中的待创建的一个或多个项目的标识,可以在保存该项目工程中的所有项目的文件夹中定位出该待创建的一个或多个项目;因此,根据该文件夹路径和配置信息,就可以获取该待创建的一个或多个项目的静态资源文件,并对其打包,得到打包文件;由于只对该待创建的一个或多个项目的静态资源文件进行打包,而不是对该项目工程中的所有项目的静态资源文件进行打包,避免了该项目工程中的与该待创建的一个或多个项目无关的其他项目混入打包流程,减少了打包工作量;由于减少了创建该一个或多个项目的过程中的打包工作量,也就能够降低创建该一个或多个项目的耗时。
附图说明
图1是本申请实施例提供的一种创建项目的方法所涉及的实施环境示意图;
图2是本申请实施例提供的一种创建项目的方法的流程图;
图3是本申请实施例提供的一个项目工程的打包示意图;
图4是本申请实施例提供的一种创建项目的装置的结构示意图;
图5是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供一种创建项目的方法,下面将结合附图对本申请实施例的实施方式进行详细描述。
请参考图1,其示出本申请实施例提供的一种创建项目的方法所涉及的实施环境示意图。如图1所示,该实施环境可以包括多个服务器101和终端设备102,多个服务器101可以包括服务器101-1、服务器101-2等。
通常是由多个前端人员在多个服务器101上创建一个项目工程,再将创建完成的项目工程发布到线上。用户就可以通过终端设备102运行和使用该项目工程。其中,该项目工程可以为前端项目工程,该项目工程或该前端项目工程可以包括应用和Web网站。针对应用而言,终端设备102可以先下载和安装该应用,然后可以响应于用户的启动操作运行该应用,为用户提供相应的服务。针对Web网站而言,终端设备102可以在浏览器加载该Web网站对应的***,以显示该Web网站的网页,为用户提供相应的服务。
具体地,每个项目工程可以包括多个项目。该项目可以为前端项目工程包括的前端项目。例如,一个应用可以包括多个应用页面。又例如,一个Web网站可以包括多个Web页面。其中,前端人员可以在多个服务器101上分别创建该项目工程中的每个项目,直至创建完成该项目工程中所有的项目,则该项目工程创建完成。然后,前端人员可以将该项目工程发布到线上,以供终端设备102使用。该项目工程发布到线上后,前端人员还可以根据用户需求,在该项目工程中增加新的项目。
其中,针对每个项目而言,前端人员创建项目的过程可以包括:开发阶段、测试阶段和发布阶段。相应地,对应于这三个阶段,上述前端人员分别可以称为开发人员、测试人员和管理人员。在开发阶段,由开发人员在开发环境中编写和修改该项目的源代码文件。该开发环境可以包括多个服务器101中、安装有Windows***或Mac***的服务器,还包括客户机和配置管理工具等。在测试阶段,由测试人员在测试环境中测试该项目的使用效果。该测试环境是测试人员利用一些工具及数据所模拟出的,该测试环境接近用户的真实使用环境。如此,可以使测试得到的该项目的使用效果更真实。该测试环境可以包括多个服务器101中的安装有Linux***的服务器,以及客户机和配置管理工具等。在发布阶段,由管理人员将通过测试的项目的源代码文件打包后发布到线上环境,以供终端设备使用。该线上环境是用户在终端设备102上运行项目工程的真实使用环境。
示例性的,本申请实施例中的终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及个人数字助理(personal digital assistant,PDA)、增强现实设备、虚拟现实设备等,本申请实施例对该终端设备的具体形态不作特殊限制。
需要说明的是,本申请实施例提供的创建项目的方法可以应用于多个服务器101。本申请实施例提供的创建项目的方法的执行主体还可以为创建项目的装置,该创建项目的装置可以为上述多个服务器101。该创建项目的装置还可以为安装有可以提供创建项目的功能的应用程序(application,APP);或者,该创建项目的装置还可以为上述多个服务器101中的中央处理器(Central Processing Unit,CPU);或者,上述多个服务器101中的用于执行创建项目的方法的控制模块。
需要说明的是,图1中的终端设备和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备和服务器。
目前,一个项目工程在长期开发的过程中可以积累许多项目,除了包括一些当前使用频率较高的项目,还包括一些当前使用频率较低的、旧的项目。例如,使用时间在当前时刻之前的促销活动页面。因此,在该项目工程的开发过程中需要对项目进行管理,例如,灵活下线一些旧的项目,以避免在创建新的项目时受到旧的项目的影响。其中,项目工程可以为前端项目工程,项目可以为前端项目。
常规技术中,在创建一个新的项目的过程(包括开发阶段、测试阶段和线上阶段)中,需要对该项目工程的所有项目的源代码文件进行打包,得到打包文件。而该项目工程的源代码文件不仅包括该新的项目的源代码文件,还包括很多与该新的项目无关的其他项目的源代码文件。因此,在上述打包过程中,打包了很多与该项目无关的冗余文件,增加了打包工作量,进而增加了创建该新的项目的耗时。
其次,由于打包文件除了包括该新的项目的源代码文件,还包括该其他项目的源代码文件,该打包文件较大,在开发阶段直接加载该打包文件的时间较长,也就是说,开发阶段的热重载时间较长。另外,所有项目的所有源代码文件都打包到一个打包文件中,导致在后续代码维护时,不能快速确定某一个项目的源代码文件并维护(例如,修改或删除)。
对此,本申请实施例提出一种创建项目的方法,可以解决相关技术存在的上述问题,可以减少打包工作量,进而减少创建该新的项目的耗时;还减少了开发阶段的热重载时长,实现了在后续代码维护时,能够快速确定某一个项目的源代码并维护。
请参考图2,为本申请实施例提供的一种创建项目的方法的流程图。如图2所示,该方法可以包括步骤201-步骤203。
步骤201、获取项目工程中待创建的一个或多个项目的配置信息;配置信息包括一个或多个项目的标识。
基于用户的使用需求,确定待创建的一个或多个项目。由前端人员在该项目工程的文件夹中新建一个或多个项目文件夹,并在每个项目文件夹中新建待创建的一个或多个项目中的与项目文件夹对应的项目所需的源代码文件(例如,静态资源文件);该一个或多个项目文件夹和该待创建的一个或多个项目为一一对应。然后,开发人员还可以在预设的项目配置文件中,增加该待创建的一个或多个项目的配置信息。进而,在开始创建该待创建的一个或多个项目时,创建项目的装置可以从预设的项目配置文件中,获取该一个或多个项目的配置信息。
其中,该项目工程的文件夹可以包括该项目工程的根目录文件夹。例如,src文件夹。该根目录文件夹用于存储保存项目工程的所有项目。该配置信息包括一个或多个项目各自的标识。例如,用于存储创建一个项目所需的源代码文件的项目文件夹的名称。
其中,项目工程可以为前端项目工程,项目可以为前端项目。该前端项目工程的文件夹可以包括该前端项目工程的根目录文件夹,例如,src文件夹。
示例性地,待创建的一个前端项目可以为一个Web页面,在一个前端项目工程的src文件夹中新建一个项目文件夹(例如,test),用于存储该Web页面所需的静态资源文件;该Web页面的静态资源文件可以包括index.js、index.html等文件。
在一些实施例中,预设的项目配置文件可以为与该项目工程的根目录文件夹同级存储的一个文件。例如,与该前端项目工程的src文件夹同级存储的subject.js。
进一步地,预设的项目配置文件可以包括:开发项目数组(例如,development数组)和测试项目数组(例如,online数组)。当需要对一个或多个项目执行开发过程时,这一个或多个项目就是开发阶段的一个或多个项目,开发人员可以在开发项目数组中增加开发阶段的一个或多个项目的第一配置信息。当需要对一个或多个项目执行测试过程时,这一个或多个项目就是测试阶段的一个或多个项目,可以在测试项目数组中增加测试阶段的一个或多个项目的第二配置信息。当需要对一个或多个项目执行发布过程时,这一个或多个项目就是发布阶段的一个或多个项目,也可以在测试项目数组中增加发布阶段的一个或多个项目的第二配置信息。
其中,开发阶段的一个或多个项目、测试阶段的一个或多个项目、以及发布阶段的一个或多个项目都属于待创建的一个或多个项目;并且,开发阶段的一个或多个项目、测试阶段的一个或多个项目、以及发布阶段的一个或多个项目可以都相同,可以都不同,也可以不完全相同。同一个项目的第一配置信息和第二配置信息可以相同,也可以不同。
在一些实施例中,配置信息包括第一配置信息;第一配置信息包括开发阶段的一个或多个项目的标识。创建项目的装置在开发阶段,可以从开发项目数组获取第一配置信息,第一配置信息是开发人员在开发项目数组中添加的。
其中,项目工程可以为前端项目工程,项目可以为前端项目。第一配置信息包括开发阶段的一个或多个前端项目的标识。
在一些实施例中,配置信息包括第二配置信息;第二配置信息包括测试阶段的一个或多个项目的标识。创建项目的装置在测试阶段,可以从测试项目数组获取第二配置信息,第二配置信息是测试人员在测试项目数组中添加的。
其中,项目工程可以为前端项目工程,项目可以为前端项目。第二配置信息包括测试阶段的一个或多个前端项目的标识。
在一些实施例中,第二配置信息还包括发布阶段的一个或多个项目的标识。创建项目的装置在发布阶段,可以从测试项目数组获取第二配置信息,第二配置信息是管理人员在测试项目数组中添加的。
其中,上述开发阶段、测试阶段或发布阶段的一个项目的标识可以包括该项目的项目文件夹的名称;该项目文件夹为存储该项目所需的源代码文件(例如,静态资源文件)的文件夹。
其中,项目工程可以为前端项目工程,项目可以为前端项目。第二配置信息还包括发布阶段的一个或多个前端项目的标识。
在一些实施例中,第二配置信息还可以包括测试阶段的一个或多个前端项目各自的页面路径后缀path。其中,页面路径后缀结合项目工程(例如,前端项目工程)的访问路径后表征所属的项目的页面链接,终端设备可以通过加载项目的页面链接,以展示该前端项目。
示例性地,前端项目的页面链接可以包括统一资源定位符(URL,Uniform/Universal Resource Locator)。其中,页面路径后缀path可以是URL中的资源的具体地址,前端项目工程的访问路径可以是URL中的服务方式或协议、以及主机地址和端口号。
在一些实施例中,第二配置信息还可以包括发布阶段的一个或多个前端项目各自的页面路径后缀path。
在一些实施例中,配置信息还可以包括待创建的一个或多个项目(例如,一个或多个前端项目)各自的项目详情信息。其中,项目详情信息用于表征所属的项目的属性信息。例如,项目创建时间、项目的使用说明、项目的有效使用时间。开发人员根据项目详情信息可以对所属的项目的静态资源文件进行修改或删除等。
在一些实施例中,创建完成一个项目(例如,一个前端项目)后,可以从预设的项目配置文件中删除该项目的配置信息。
示例性地,开发完成一个前端项目后,开发人员可以在预设的项目配置文件中的开发项目数组中删除该前端项目的第一配置信息。测试完成或发布完成一个前端项目后,测试人员或管理人员可以在预设的项目配置文件中的测试项目数组中删除该前端项目的第二配置信息。
可以理解的是,前端人员通过预设的项目配置文件,可以灵活设置开发阶段、测试阶段和发布阶段的项目(例如,前端项目)。
步骤202、通过项目工程的打包入口接收输入的文件夹路径;文件夹路径是用于保存项目工程中所有项目的文件夹的路径。
开发人员或测试人员可以在创建项目的装置的打包入口处,输入该项目工程的文件夹路径。然后,创建项目的装置可以接收该文件夹路径。其中,该项目工程的文件夹路径可以包括根目录文件夹(例如,src文件夹)的路径。其中,项目工程可以为前端项目工程,项目可以为前端项目。
示例性地,开发人员或测试人员在创建项目的装置中运行前端开发工具。例如,Webpack。然后,在该前端开发工具的打包入口(例如,Webpack的enpty)处,输入前端项目工程的文件夹路径。
步骤203、根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件。
创建项目的装置根据文件夹路径和配置信息,可以确定待创建的一个或多个项目各自的项目文件夹的路径,并从该项目文件夹的路径读取项目的静态资源文件。然后,按照预设的打包配置文件,打包待创建的一个或多个项目的静态资源文件,得到打包文件。其中,每个项目的项目文件夹包括创建项目所需的源代码文件(例如,静态资源文件)。项目工程可以为前端项目工程,项目可以为前端项目。
示例性地,可以根据根目录文件夹的路径“src”和一个前端项目的项目文件夹的名称“test”,得到该前端项目的项目文件夹的路径为“src/test”。
在一些实施例中,前端人员可以对所使用的前端开发工具的默认的打包配置文件进行修改,得到预设的打包配置文件。其中,默认的打包配置文件包括默认的打包规则。默认的打包规则可以是分别对所有项目的静态资源文件中的每种文件类型的静态资源文件进行打包。
具体地,预设的打包配置文件包括开发打包配置文件和测试打包配置文件。其中,开发打包配置文件包括开发打包规则,开发打包规则可以包括对一个或多个项目的静态资源文件进行打包,或者分别对一个或多个项目的静态资源文件中的每个项目的静态资源文件进行打包;还可以包括利用预设的各个静态资源文件之间的引用关系,标记一个或多个项目的静态资源文件。测试打包配置文件包括测试打包规则,测试打包规可以包括分别对一个或多个项目的静态资源文件中的每个项目的、每种文件类型的静态资源文件进行打包;还可以包括利用预设标识信息,标记一个或多个项目的静态资源文件,预设标识信息可以包括预设的实体文件的路径、预设的各个静态资源文件之间的引用关系等。
需要说明的是,针对开发阶段而言,由于开发环境中不需要考虑网速和缓存等因素,可以将开发阶段的所有项目的静态资源文件一起打包,得到打包文件并加载。其中,加载该打包文件就是加载所有项目的静态资源文件。可以理解的是,由于打包文件只包括开发阶段的所有项目的静态资源文件,不包括项目工程中的除了开发阶段的所有项目之外的其他项目,减小了该打包文件的大小,进而减少了开发阶段对该打包文件的热重载时长。
需要说明的是,针对测试阶段和发布阶段而言,测试环境是模拟用户的真实使用环境,线上环境就是用户的真实使用环境,由于用户的真实使用环境会受到网速和缓存的限制,所以,对于线上环境和测试环境,可以分别对各个项目的静态资源文件进行打包,得到由各个项目的静态资源文件组成的打包文件。还可以分别对每个项目的、每种文件类型的静态资源文件进行打包,得到由各个项目的、各种文件类型的静态资源文件组成的打包文件。此时,加载该打包文件时可以只加载某个项目的静态资源文件,或者只加载某个项目的部分静态资源文件,降低了网速和缓存等需求。另外,在该打包文件中可以快速确定任意一个项目的静态资源文件,以及任意一个项目的、任意一种文件类型的静态资源文件,进而可以快速对任意一个项目的静态资源文件进行维护。
在一些实施例中,创建项目的装置在开发阶段,新建缓存文件。再根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件。
创建项目的装置中的前端开发工具(例如,Webpack)在开发阶段,可以新建缓存文件。再根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并按照开发打包配置文件,将开发阶段的一个或多个项目的所有静态资源文件,打包至缓存文件。该缓存文件就是打包文件。
其中,项目工程可以为前端项目工程,项目可以为前端项目。创建项目的装置在开发阶段,新建缓存文件。再根据文件夹路径和开发阶段的一个或多个前端项目的标识,获取开发阶段的一个或多个前端项目的静态资源文件,并将开发阶段的一个或多个前端项目的静态资源文件,打包至缓存文件,得到打包文件。
需要说明的是,由于开发阶段往往需要对开发阶段的一个或多个项目(例如,一个或多个前端项目)的源代码进行较多的修改,而缓存文件具有快速修改和更新的优点,所以采用缓存文件存储打包后的一个或多个前端项目项目的静态资源文件。
进一步地,开发打包配置文件中的开发打包规则可以包括分别对一个或多个项目的静态资源文件中的每个项目的静态资源文件进行打包,以及利用预设的各个静态资源文件之间的引用关系,标记一个或多个项目的静态资源文件。创建项目的装置中的前端开发工具按照该开发打包规则,根据各个静态资源文件之间的引用关系,得到一个或多个静态资源文件各自的引用路径publicpath,并利用一个或多个静态资源文件各自的引用路径publicpath,标记对应的静态资源文件。其中,每个静态资源文件的引用路径publicpath表征被引用的静态资源文件相较于该静态资源文件的路径。再将该一个或多个项目的标记后的静态资源文件,打包至缓存文件,得到打包文件。
在开发环境中,一个静态资源文件的引用路径publicpath表示被引用的静态资源文件相较于该静态资源文件的相对路径,即被引用的静态资源文件在和该静态资源文件所属的同一个文件下的存储路径。创建项目的装置中的前端开发工具对一个或多个静态资源文件各自的引用路径publicpath以字符串的形式,存储在对应的静态资源文件中。
需要说明的是,由于在开发阶段不存在打包环境和加载打包文件的环境发生更改的问题,所以一个静态资源文件可以使用被引用的静态资源文件相较于该静态资源文件的相对路径,不存在该静态资源文件调用不到被引用的静态资源文件的问题。
需要说明的是,创建项目的装置将该一个或多个项目的标记后的静态资源文件,打包至缓存文件,得到打包文件的过程,与将该一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件的过程同理,此处不再赘述。
在一些实施例中,创建项目的装置在测试阶段,新建实体文件。再根据文件夹路径和测试阶段的一个或多个项目的标识,获取测试阶段的一个或多个项目的静态资源文件;以及获取测试阶段的一个或多个项目的静态资源文件中每个静态资源文件的文件类型。然后,采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件。其中,预设标识信息包括实体文件的路径。最后,对每个项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;还对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件。
创建项目的装置中的前端开发工具(例如,Webpack)在测试阶段,可以在预设标识信息中的实体文件的路径中新建实体文件。再根据文件夹路径和测试阶段的一个或多个项目的标识,获取测试阶段的一个或多个项目的静态资源文件,并确定所有静态资源文件的文件类型。然后,按照测试打包配置文件中的测试打包规则,可以采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识、以及预设标识信息,标记对应的静态资源文件;再分别对测试阶段的一个或多个项目的所有标记后的静态资源文件中的每个项目的、每种文件类型的静态资源文件进行打包,得到一个或多个项目对应的一个或多个第二打包子文件。其中,每个项目对应的第二打包子文件包括文件类型不同的一个或多个第一打包子文件。项目工程可以为前端项目工程,项目可以为前端项目。
需要说明的是,由于线上环境利用实体文件打包,为了更真实地模拟线上环境,以及需要较多的测试人员对测试阶段的一个或多个项目进行测试,在测试阶段也用实体文件存储测试阶段的一个或多个项目的静态资源文件,可以将该实体文件发给多个测试人员进行测试。
在一些实施例中,预设标识信息包括实体文件的路径。创建项目的装置采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识、以及实体文件的路径,得到测试阶段的一个或多个项目的静态资源文件各自的实体文件存储路径name;再用实体文件存储路径name对对应的静态资源文件进行命名。
其中,上述任意一个项目的标识可以包括该项目的项目文件夹的名称。创建项目的装置通过前端开发工具中的转换器(例如,webpack loader)针对每个静态资源文件,将实体文件的路径、所属的项目的项目文件夹的名称、静态资源文件的文件类型和静态资源文件的文件名称依次连接,得到每个静态资源文件的实体文件存储路径name。项目工程可以为前端项目工程,项目可以为前端项目。
示例性地,以一个图片为例,该图片的实体文件存储路径为“src/static/game/img/abc.png”。其中,src/static为实体文件的路径,表示该实体文件为存储在根目录文件夹src下的文件;game为该图像所属的前端项目的项目文件夹的名称;img为该图像的文件类型;abc.png为该图片的文件名称。
在一些实施例中,预设标识信息还包括各个静态资源文件之间的引用关系。创建项目的装置根据各个静态资源文件之间的引用关系,得到一个或多个静态资源文件的引用路径publicpath;每个静态资源文件的引用路径表征该静态资源文件所引用的静态资源文件的存储路径。然后,根据每个静态资源文件的文件类型、一个或多个项目的标识、以及实体文件的路径,得到测试阶段的一个或多个项目的静态资源文件的实体文件存储路径name。最后,利用一个或多个静态资源文件的引用路径、以及测试阶段的一个或多个项目的静态资源文件的实体文件存储路径,标记对应的静态资源文件。
创建项目的装置通过前端开发工具中的转换器(例如,webpack loader)根据各个静态资源文件之间的引用关系中的每两个静态资源文件之间的引用关系,得到一个静态资源文件的引用路径publicpath。其中,在测试环境中,一个静态资源文件的引用路径publicpath表示被引用的静态资源文件相较于该静态资源文件的绝对路径,即被引用的静态资源文件的完整的文件存储路径。在线上环境中,该引用路径publicpath表示该静态资源文件所引用的静态资源文件的实体存储路径。然后,对一个或多个静态资源文件的引用路径以字符串的形式,存储在所属的静态资源文件中;还用每个静态资源文件的实体文件存储路径,对所属的静态资源文件进行命名。
需要说明的是,用每个静态资源文件的实体文件存储路径对自身进行命名后,针对测试阶段的一个或多个项目的所有标记后的静态资源文件,分别对每个项目的、每种文件类型的静态资源文件进行打包时,就可以参考静态资源文件的名称。
在一些实施例中,静态资源文件包括图片文件、音频文件、js文件、css文件等多种文件类型的静态资源文件。创建项目的装置可以分别针对每种文件类型的静态资源文件,根据各个静态资源文件之间的引用关系,得到每种文件类型的静态资源文件的引用路径publicpath。再根据每个静态资源文件的文件类型、测试阶段的一个或多个项目各自的标识、以及实体文件的路径,得到每种文件类型的静态资源文件的实体文件存储路径name。最后,利用每种文件类型的静态资源文件的引用路径publicpath、以及每种文件类型的静态资源文件的实体文件存储路径,标记对应的静态资源文件。其中,项目工程可以为前端项目工程,项目可以为前端项目。
示例性地,前端开发工具Webpack中的转换器webpack loader包括url-loader、js-loader和css-loader等等。具体地,可以通过url-loader,针对测试阶段的一个或多个前端项目的图片文件或音频文件,执行标记对应的静态资源文件的过程;及通过js-loader,针对测试阶段的一个或多个前端项目的js文件,执行标记对应的静态资源文件的过程;以及通过css-loader,针对测试阶段的一个或多个前端项目的css文件,执行标记对应的静态资源文件的过程;
在一些实施例中,创建项目的装置在发布阶段执行步骤203的过程,与在测试阶段执行步骤203的过程同理,此处不再赘述。
其中,项目工程可以为前端项目工程,项目可以为前端项目。创建项目的装置在发布阶段,对每个前端项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;以及对发布阶段的一个或多个前端项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件之后,可以对发布阶段的一个或多个前端项目中每个前端项目的第二打包子文件中的超级文本标记语言(Html,Hyper Text Markup Language)文件,和第二配置信息中的对应的前端项目的页面路径后缀path进行映射。然后,将每个前端项目的第二打包子文件中除了Html文件之外的其他第一打包子文件(例如,js文件,css文件等),自动保存至内容分发网络(CDN,Content Delivery Network),并将发布阶段的一个或多个前端项目各自的Html文件发布到前端服务器(或线上服务器)。此时,在线上环境的一个静态资源文件的引用路径publicpath可以包括该静态资源文件所引用的静态资源文件在CDN中的存储路径。
进一步地,当用户通过客户端访问一个前端项目的页面路径后缀path时,前端服务器将对应的html文件发送至客户端;通过客户端运行该Html文件,以调用该前端项目的第二打包子文件中的所有第一打包子文件,实现展示该前端项目的页面显示效果。
在一些实施例中,项目工程为前端项目工程,一个或多个项目包括待创建的一个或多个前端项目。在得到待创建的一个或多个前端项目的打包文件后,创建项目的装置加载打包文件,展示一个或多个前端项目的页面显示效果。
创建项目的装置中的浏览模块(包括浏览器)加载打包文件,在浏览模块上展示待创建的一个或多个前端项目的页面显示效果。前端人员可以基于该页面显示效果发现问题,并对待创建的一个或多个前端项目的源代码文件进行修改。
进一步地,创建项目的装置在开发阶段,通过浏览器加载打包文件,展示开发阶段的一个或多个前端项目的页面显示效果;当开发阶段的一个或多个前端项目的静态资源文件被修改后,更新打包文件,并加载更新后的打包文件,展示开发阶段的一个或多个前端项目的修改后的页面显示效果。其中,开发阶段的一个或多个前端项目的修改后的静态资源文件,用于在测试阶段对开发阶段的一个或多个前端项目进行测试。
创建项目的装置在开发阶段,可以通过浏览器直接加载开发阶段得到的打包文件,在浏览器的显示模块上展示开发阶段的一个或多个前端项目。例如,展示一个或多个应用页面,或展示一个或多个Web页面。开发人员基于展示出的页面,可以在前端开发工具上对开发阶段的一个或多个前端项目的静态资源文件进行修改。当开发人员在前端开发工具上修改开发阶段的一个或多个前端项目的静态资源文件时,前端开发工具自动更新该打包文件,且浏览器自动加载更新后的打包文件,展示开发阶段的一个或多个前端项目的修改后的页面显示效果。当开发阶段结束后,通过测试环境的连接地址,将开发阶段的一个或多个前端项目的修改后的静态资源文件发送至测试环境,用于对开发阶段的一个或多个前端项目进行测试。其中,测试环境的连接地址可以包括用于前端项目测试的服务器的连接地址。
在一些实施例中,项目工程为前端项目工程,一个或多个项目包括待创建的一个或多个前端项目。创建项目的装置在测试阶段,当接收到测试阶段的一个或多个前端项目中的目标前端项目的浏览指令时,响应于浏览指令,从打包文件中确定与目标前端项目的第二打包子文件;通过浏览器依次加载与目标前端项目的第二打包子文件中的一个或多个第一打包子文件,展示目标前端项目的页面显示效果。
创建项目的装置在测试阶段,当测试人员通过浏览器对测试阶段的一个或多个前端项目中的一个前端项目执行浏览操作时,这一个前端项目可以作为目标前端项目,浏览器接收对该目标前端项目的浏览指令。然后,响应于该浏览指令,浏览器可以从打包文件中确定该目标前端项目的第二打包子文件,并加载该第二打包子文件中的第一打包子文件,进而在浏览器的显示模块上展示该目标前端项目。
进一步地,测试人员还可以继续对测试阶段的一个或多个前端项目中的另一个前端项目执行浏览操作,直至对测试阶段的一个或多个前端项目都执行浏览操作,测试人员基于展示出的测试阶段的一个或多个前端项目,可以对测试阶段的一个或多个前端项目中的部分前端项目或所有前端项目的静态资源文件进行修改。当修改部分前端项目(或所有前端项目)的静态资源文件时,重新打包部分前端项目(或所有前端项目)的修改后的静态资源文件,得到更新后的打包文件。还可以继续对部分前端项目(或所有前端项目)中的每个前端项目执行浏览操作,以查看修改后的部分前端项目(或所有前端项目),直至测试结束,将通过测试的测试阶段的一个或多个前端项目的静态资源文件发送至发布服务器,由管理人员在发布服务器上对接收到的一个或多个前端项目的静态资源文件进行打包后发布到线上环境。
需要说明的是,创建项目的装置重新打包部分前端项目(或所有前端项目)的修改后的静态资源文件,得到更新后的打包文件,与在测试阶段打包一个或多个项目的静态资源文件,得到打包文件的过程同理,此处不再赘述。
示例性地,以项目工程为前端项目工程,一个或多个项目为待创建的一个或多个前端项目为例,结合图3所示的一个前端项目工程的打包示意图,说明一种创建项目的方法的具体过程可以包括:
获取前端项目工程的配置信息,其中,该配置信息包括第一配置信息和第二配置信息,第一配置信息包括前端项目1的标识和前端项目2的标识;第二配置信息包括前端项目3的标识和前端项目4的标识。
在开发阶段,创建项目的装置中的前端开发工具Webpack的打包入口接收输入的文件夹路径;文件夹路径是用于保存前端项目工程中所有前端项目的文件夹的路径。
然后,前端开发工具Webpack根据文件夹路径和第一配置信息中的前端项目1的标识和前端项目2的标识,获取前端项目1的静态资源文件和前端项目2的静态资源文件,不会获取所有前端项目中除前端项目1和前端项目2之外的其他前端项目的静态资源文件;再新建缓存文件;按照开发打包配置文件中的开发打包规则,分别对前端项目1的静态资源文件进行打包,以及对前端项目2的静态资源文件进行打包,得到前端项目1对应的打包文件、前端项目2对应的打包文件,并将其保存至缓存文件中,得到打包文件。其中,开发打包规则可以包括分别对开发阶段的一个或多个前端项目的静态资源文件中的每个前端项目的静态资源文件进行打包。
最后,创建项目的装置通过浏览器直接加载开发阶段的打包文件,在浏览器的显示模块上展示前端项目1和前端项目2的页面显示效果。开发人员基于展示出的页面,可以在前端开发工具Webpack上对前端项目1和前端项目2的静态资源文件进行修改,直至开发人员确定展示出的页面符合开发要求,认为开发完成。通过测试环境的连接地址,将开发完成的前端项目1和前端项目2的静态资源文件发送至测试环境。
在测试阶段,前端开发工具Webpack的打包入口接收输入的文件夹路径。
然后,前端开发工具Webpack根据文件夹路径和第二配置信息中的前端项目3的标识和前端项目4的标识,获取开发完成的前端项目3的静态资源文件和前端项目4的静态资源文件,不会获取所有前端项目中除前端项目3和前端项目4之外的其他前端项目的静态资源文件;再新建实体文件,按照测试打包配置文件中的测试打包规则,标记前端项目3的静态资源文件、前端项目4的静态资源文件;以及对前端项目3的每种文件类型的静态资源文件进行打包,得到前端项目3对应的多个第二打包子文件,由前端项目3对应的多个第二打包子文件组成前端项目3的第一打包子文件;对前端项目4的每种文件类型的静态资源文件进行打包,得到前端项目4对应的多个第二打包子文件,由前端项目4对应的多个第二打包子文件组成前端项目4的第一打包子文件;将前端项目3的第一打包子文件和前端项目4的第一打包子文件保存至实体文件中,得到打包文件。
其中,以前端项目3为例,前端项目3对应的多个第二打包子文件包括js文件、css文件、图片文件和index.html。其中,该index.html可以为发布到线上服务器的Html文件,以在用户通过客户端访问该前端页面3的页面路径后缀path时,运行该index.html;js文件可以包括test.js;css文件可以包括test.css;图片文件可以包括a1.png、a2.png等;css文件中的test.css引用图片文件。
最后,创建项目的装置通过浏览器加载测试阶段的打包文件,在浏览器的显示模块上前端项目3和前端项目4。测试人员基于展示出的页面,可以在Webpack上对前端项目3和/或前端项目4的静态资源文件进行修改,直至测试人员确定对前端项目3和前端项目4的测试完成,将测试通过后的前端项目3和前端项目4的静态资源文件发送至发布服务器,由管理人员在发布服务器上对接收到的前端项目3和前端项目4的静态资源文件进行打包后发布到线上环境。
可以理解的是,创建项目的装置获取前端项目工程中待创建的一个或多个前端项目的配置信息,该配置信息包括待创建的一个或多个前端项目的标识;再通过该前端项目工程的打包入口接收输入的文件夹路径;其中,该文件夹路径是用于保存该前端项目工程中所有前端项目的文件夹的路径,也就是说,通过该文件夹路径可以定位到保存该前端项目工程中所有前端项目的文件夹;那么,再利用该配置信息中的待创建的一个或多个前端项目的标识,可以在保存该前端项目工程中的所有前端项目的文件夹中定位出该待创建的一个或多个前端项目;因此,根据该文件夹路径和配置信息,就可以获取该待创建的一个或多个前端项目的静态资源文件,并对其打包,得到打包文件;由于只对该待创建的一个或多个前端项目的静态资源文件进行打包,而不是对该前端项目工程中的所有前端项目的静态资源文件进行打包,避免了该前端项目工程中的与该待创建的一个或多个前端项目无关的其他前端项目混入打包流程,减少了打包工作量;最后加载该打包文件,展示该待创建的一个或多个前端项目的页面显示效果;由于减少了创建该一个或多个前端项目的过程中的打包工作量,也就能够降低创建该一个或多个前端项目的耗时。
可以理解的是,上述方法可以由创建项目的装置实现。创建项目的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述创建项目的装置等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中所涉及的创建项目的装置一种可能的结构示意图,该创建项目的装置4包括:配置信息获取模块41和打包模块42。其中,配置信息获取模块41,用于获取项目工程中待创建的一个或多个项目的配置信息;配置信息包括一个或多个项目的标识。打包模块42,用于通过项目工程的打包入口接收输入的文件夹路径;文件夹路径是用于保存项目工程中所有项目的文件夹的路径;根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件。
在一种可能的实施方式中,配置信息包括第一配置信息;第一配置信息包括开发阶段的一个或多个项目的标识。配置信息获取模块41,用于获取项目工程中待创建的一个或多个项目的配置信息,包括:配置信息获取模块41,具体用于在开发阶段,从开发项目数组获取第一配置信息;第一配置信息是开发人员在开发项目数组中添加的。
另一种可能的实施方式中,打包模块42包括:开发打包模块421。打包模块42,用于根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:开发打包模块421,用于在开发阶段,新建缓存文件;根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。装置还包括:浏览模块43,用于在根据文件夹路径和开发阶段的一个或多个项目的标识,获取开发阶段的一个或多个项目的静态资源文件,并将开发阶段的一个或多个项目的静态资源文件,打包至缓存文件,得到打包文件之后,通过浏览器加载打包文件,展示开发阶段的一个或多个前端项目的页面显示效果。
另一种可能的实施方式中,打包模块42,还用于在通过浏览器加载打包文件,展示开发阶段的一个或多个项目的页面显示效果之后,当开发阶段的一个或多个前端项目的静态资源文件被修改后,更新打包文件。浏览模块43,还用于加载更新后的打包文件,展示开发阶段的一个或多个前端项目的修改后的页面显示效果。
另一种可能的实施方式中,开发阶段的一个或多个前端项目的修改后的静态资源文件,用于在测试阶段对开发阶段的一个或多个前端项目进行测试。
另一种可能的实施方式中,配置信息包括第二配置信息;第二配置信息包括测试阶段的一个或多个项目的标识。配置信息获取模块41,用于获取项目工程中待创建的一个或多个项目的配置信息,包括:配置信息获取模块41,具体用于在测试阶段,从测试项目数组获取第二配置信息;第二配置信息是开发人员在测试项目数组中添加的。
另一种可能的实施方式中,打包模块42包括:测试打包模块422。打包模块42,用于根据文件夹路径和配置信息,获取一个或多个项目的静态资源文件,打包一个或多个项目的静态资源文件,得到打包文件,包括:
测试打包模块422,用于:在测试阶段,新建实体文件;根据文件夹路径和测试阶段的一个或多个项目的标识,获取测试阶段的一个或多个项目的静态资源文件;获取测试阶段的一个或多个项目的静态资源文件中每个静态资源文件的文件类型;采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件;预设标识信息包括实体文件的路径;对每个项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件。
另一种可能的实施方式中,一个或多个项目包括:待创建的一个或多个前端项目。装置还包括:浏览模块43。浏览模块43用于:在对测试阶段的一个或多个项目各自的一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将一个或多个第二打包子文件保存至实体文件,得到打包文件之后,当接收到测试阶段的一个或多个前端项目中的目标前端项目的浏览指令时,响应于浏览指令,从打包文件中确定与目标前端项目的第二打包子文件;依次加载与目标前端项目的第二打包子文件中的一个或多个第一打包子文件,展示目标前端项目的页面显示效果。
另一种可能的实施方式中,预设标识信息还包括各个静态资源文件之间的引用关系。测试打包模块422,用于采用每个静态资源文件的文件类型、测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件,包括:
测试打包模块422,具体用于:根据各个静态资源文件之间的引用关系,得到一个或多个静态资源文件的引用路径;引用路径表征静态资源文件所引用的静态资源文件的存储路径;根据每个静态资源文件的文件类型、一个或多个项目的标识、以及实体文件的路径,得到测试阶段的一个或多个项目的静态资源文件的实体文件存储路径;利用一个或多个静态资源文件的引用路径、以及测试阶段的一个或多个项目的静态资源文件的实体文件存储路径,标记对应的静态资源文件。
另一种可能的实施方式中,第二配置信息还包括测试阶段的一个或多个前端项目各自的页面路径后缀;页面路径后缀结合项目工程的访问路径表征所属的前端项目的页面链接。
在采用集成的单元的情况下,图5示出了上述实施例中所涉及的服务器的一种可能的结构示意图。服务器5可以包括:处理器501、存储器502和通信模块503。处理器501用于对服务器的动作进行控制管理。存储器502,用于保存服务器的程序代码和数据,如创建项目的方法,获取项目工程中待创建的一个或多个项目的配置信息等。通信模块503用于支持服务器与其他网络实体的通信,以实现数据交互等功能,如该通信模块503支持服务器与终端设备的通信,以实现数据交互功能。
其中,处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请实施例提供的创建项目的方法。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在上述服务器上运行时,使得该服务器执行上述方法实施例中的各个功能或者步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在上述服务器上运行时,使得该服务器执行上述方法实施例中的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种创建项目的方法,其特征在于,所述方法包括:
获取项目工程中待创建的一个或多个项目的配置信息;所述配置信息包括所述一个或多个项目的标识;
通过所述项目工程的打包入口接收输入的文件夹路径;所述文件夹路径是用于保存所述项目工程中所有项目的文件夹的路径;
根据所述文件夹路径和所述配置信息,获取所述一个或多个项目的静态资源文件,打包所述一个或多个项目的静态资源文件,得到打包文件。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括第一配置信息;所述第一配置信息包括开发阶段的一个或多个项目的标识;
所述获取项目工程中待创建的一个或多个项目的配置信息,包括:
在所述开发阶段,从开发项目数组获取所述第一配置信息;所述第一配置信息是开发人员在所述开发项目数组中添加的。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文件夹路径和所述配置信息,获取所述一个或多个项目的静态资源文件,打包所述一个或多个项目的静态资源文件,得到打包文件,包括:
在所述开发阶段,新建缓存文件;
根据所述文件夹路径和所述开发阶段的一个或多个项目的标识,获取所述开发阶段的一个或多个项目的静态资源文件,并将所述开发阶段的一个或多个项目的静态资源文件,打包至所述缓存文件,得到所述打包文件。
4.根据权利要求3所述的方法,其特征在于,所述一个或多个项目包括:待创建的一个或多个前端项目;
在所述根据所述文件夹路径和所述开发阶段的一个或多个项目的标识,获取所述开发阶段的一个或多个项目的静态资源文件,并将所述开发阶段的一个或多个项目的静态资源文件,打包至所述缓存文件,得到所述打包文件之后,所述方法还包括:
通过浏览器加载所述打包文件,展示所述开发阶段的一个或多个前端项目的页面显示效果。
5.根据权利要求1所述的方法,其特征在于,所述配置信息包括第二配置信息;所述第二配置信息包括测试阶段的一个或多个项目的标识;
所述获取项目工程中待创建的一个或多个项目的配置信息,包括:
在所述测试阶段,从测试项目数组获取所述第二配置信息;所述第二配置信息是开发人员在所述测试项目数组中添加的。
6.根据权利要求5所述的方法,其特征在于,所述根据所述文件夹路径和所述配置信息,获取所述一个或多个项目的静态资源文件,打包所述一个或多个项目的静态资源文件,得到打包文件,包括:
在所述测试阶段,新建实体文件;
根据所述文件夹路径和所述测试阶段的一个或多个项目的标识,获取所述测试阶段的一个或多个项目的静态资源文件;
获取所述测试阶段的一个或多个项目的静态资源文件中每个静态资源文件的文件类型;
采用所述每个静态资源文件的文件类型、所述测试阶段的一个或多个项目的标识和预设标识信息,标记对应的静态资源文件;所述预设标识信息包括所述实体文件的路径;
对所述每个项目的标记后的静态资源文件进行分类型打包,得到一个或多个第一打包子文件;
对所述测试阶段的一个或多个项目各自的所述一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将所述一个或多个第二打包子文件保存至所述实体文件,得到所述打包文件。
7.根据权利要求6所述的方法,其特征在于,所述一个或多个项目包括:待创建的一个或多个前端项目;
在所述对所述测试阶段的一个或多个项目各自的所述一个或多个第一打包子文件分别进行打包,得到一个或多个第二打包子文件,将所述一个或多个第二打包子文件保存至所述实体文件,得到所述打包文件之后,所述方法还包括:
当接收到所述测试阶段的一个或多个前端项目中的目标前端项目的浏览指令时,响应于所述浏览指令,从所述打包文件中确定与所述目标前端项目的第二打包子文件;
通过浏览器依次加载所述与所述目标前端项目的第二打包子文件中的一个或多个第一打包子文件,展示所述目标前端项目的页面显示效果。
8.一种创建项目的装置,其特征在于,所述装置包括:
配置信息获取模块,用于获取项目工程中待创建的一个或多个项目的配置信息;所述配置信息包括所述一个或多个项目的标识;
打包模块,用于通过所述项目工程的打包入口接收输入的文件夹路径;所述文件夹路径是用于保存所述项目工程中所有项目的文件夹的路径;根据所述文件夹路径和所述配置信息,获取所述一个或多个项目的静态资源文件,打包所述一个或多个项目的静态资源文件,得到打包文件。
9.一种服务器,其特征在于,所述服务器包括:处理器和用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,使得所述服务器执行如权利要求1-7中任一项所述的创建前端项目的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,当所述计算机指令在服务器上运行时,使得所述服务器执行实现如权利要求1-7中任一项所述的创建前端项目的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567020.2A CN111724133A (zh) | 2020-06-19 | 2020-06-19 | 一种创建项目的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010567020.2A CN111724133A (zh) | 2020-06-19 | 2020-06-19 | 一种创建项目的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111724133A true CN111724133A (zh) | 2020-09-29 |
Family
ID=72567777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010567020.2A Pending CN111724133A (zh) | 2020-06-19 | 2020-06-19 | 一种创建项目的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111724133A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230985A (zh) * | 2020-10-23 | 2021-01-15 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN113064632A (zh) * | 2021-04-07 | 2021-07-02 | 北京读我网络技术有限公司 | 前端项目发布方法及装置 |
CN113760351A (zh) * | 2021-03-24 | 2021-12-07 | 北京京东拓先科技有限公司 | 项目上传方法、装置、电子设备和计算机可读介质 |
CN115309376A (zh) * | 2022-08-25 | 2022-11-08 | 北京泰迪熊移动科技有限公司 | 一种应用创建方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202083A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 用于web页面的资源打包***、方法及装置 |
CN108829430A (zh) * | 2018-06-19 | 2018-11-16 | 厦门海迈科技股份有限公司 | 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置 |
CN109032631A (zh) * | 2018-07-12 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 应用程序补丁包获取方法、装置、计算机设备及存储介质 |
CN110286917A (zh) * | 2019-05-21 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 文件打包方法、装置、设备及存储介质 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、***及存储介质 |
-
2020
- 2020-06-19 CN CN202010567020.2A patent/CN111724133A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202083A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 用于web页面的资源打包***、方法及装置 |
CN108829430A (zh) * | 2018-06-19 | 2018-11-16 | 厦门海迈科技股份有限公司 | 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置 |
CN109032631A (zh) * | 2018-07-12 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 应用程序补丁包获取方法、装置、计算机设备及存储介质 |
CN110286917A (zh) * | 2019-05-21 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 文件打包方法、装置、设备及存储介质 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、***及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230985A (zh) * | 2020-10-23 | 2021-01-15 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN112230985B (zh) * | 2020-10-23 | 2024-04-05 | 微民保险代理有限公司 | 静态文件流程、小程序版本管理方法、装置及计算机设备 |
CN113760351A (zh) * | 2021-03-24 | 2021-12-07 | 北京京东拓先科技有限公司 | 项目上传方法、装置、电子设备和计算机可读介质 |
CN113064632A (zh) * | 2021-04-07 | 2021-07-02 | 北京读我网络技术有限公司 | 前端项目发布方法及装置 |
CN115309376A (zh) * | 2022-08-25 | 2022-11-08 | 北京泰迪熊移动科技有限公司 | 一种应用创建方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3342145B1 (en) | Deep linking to mobile application states through programmatic replay of user interface events | |
CN111724133A (zh) | 一种创建项目的方法及装置 | |
RU2673403C2 (ru) | Способ доступа к веб-узлам, устройство и система веб-узла | |
US8630978B2 (en) | Method of bi-directional synchronization of user data | |
CN102567516B (zh) | 脚本加载方法及装置 | |
CN105049486A (zh) | 静态文件的版本管理、文件拉取控制方法、装置及*** | |
EP3035191A1 (en) | Identifying source code used to build executable files | |
US20110202935A1 (en) | System and method for providing a web-based operating system | |
US11625253B2 (en) | Application-level runtime environment for executing applications native to mobile devices without full installation | |
US20160335079A1 (en) | Zero down-time deployment of new application versions | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
US9772930B2 (en) | Techniques for evaluating applications through use of an auxiliary application | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
CN113377458B (zh) | 插件管理方法、装置、电子设备和存储介质 | |
JP2023547070A (ja) | アプリケーションの実行を停止しない更新された共有ライブラリの再読み込み | |
CN112395437B (zh) | 一种3d模型的加载方法、装置、电子设备及存储介质 | |
CN111596997B (zh) | Ui信息的请求方法、装置、终端和存储介质 | |
CN110327626B (zh) | 虚拟服务器创建方法及装置 | |
CN113535188A (zh) | 私有化部署的方法和装置 | |
WO2021223544A1 (zh) | 一种启动应用的方法和相关装置 | |
CN112256296B (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN115390912B (zh) | 资源发现方法、装置、计算机设备和存储介质 | |
CN114676372A (zh) | 网页游戏的数据处理方法、装置、电子设备及存储介质 | |
Chandra et al. | Installing RQDA | |
CN116679912A (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 |