CN112882782B - 页面生成方法、装置、计算机设备和存储介质 - Google Patents
页面生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112882782B CN112882782B CN202110170762.6A CN202110170762A CN112882782B CN 112882782 B CN112882782 B CN 112882782B CN 202110170762 A CN202110170762 A CN 202110170762A CN 112882782 B CN112882782 B CN 112882782B
- Authority
- CN
- China
- Prior art keywords
- component
- file
- current
- current component
- page
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004806 packaging method and process Methods 0.000 claims abstract description 60
- 238000009877 rendering Methods 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012856 packing Methods 0.000 claims description 14
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种页面生成方法、装置、计算机设备和存储介质。该方法包括:接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件,根据当前组件列表信息查找与当前组件信息匹配的目标组件文件,通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件,根据组件页面文件和当前页面数据渲染得到目标组件页面。采用本方法能够按需组件列表动态拉取组件代码,避免生成的页面中引入不需要用到的组件文件,有效地减小页面加载量。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种页面生成方法、装置、计算机设备和存储介质。
背景技术
目前,后端在渲染页面时,会把组件库中所有开发的组件都打包成一个组件文件,将这个组件文件载入到页面中,然而,即使该页面没有使用到的组件代码,也会加载到页面中,造成了页面加载量变大。
发明内容
基于此,有必要针对上述技术问题,提供一种页面生成方法、装置、计算机设备和存储介质,按需组件列表动态拉取组件代码,避免生成的页面中引入不需要用到的组件文件,有效地减小页面加载量。
一种页面生成方法,该方法包括:
接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;
根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;
通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;
根据组件页面文件和当前页面数据渲染得到目标组件页面。
在其中一个实施例中,通过预设打包命令对目标组件文件进行打包之前,还包括:检测输出指定目录中是否存在当前组件信息对应的当前组件文件;在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入步骤通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
在其中一个实施例中,检测输出指定目录中是否存在当前组件信息对应的当前组件文件,包括:根据当前组件列表信息查找与当前组件信息对应的当前组件标识;获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称;获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称;根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
在其中一个实施例中,根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件,包括:在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件;在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在其中一个实施例中,根据当前组件标识和当前组件库版本号合成当前组件文件名称,包括:获取当前组件对应的当前组件名称;根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
在其中一个实施例中,通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件,包括:清空打包指令目录,将目标组件文件复制到打包指定目录中;调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
在其中一个实施例中,根据组件页面文件和当前页面数据渲染得到目标组件页面,包括:将当前组件文件名称确定为组件页面文件关联的组件文件名称;将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
一种页面生成装置,该装置包括:
当前组件列表信息接收模块,用于接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;
目标组件文件查找模块,用于根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;
组件页面文件打包模块,用于通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;
目标组件页面生成模块,用于根据组件页面文件和当前页面数据渲染得到目标组件页面。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;
根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;
通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;
根据组件页面文件和当前页面数据渲染得到目标组件页面。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;
根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;
通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;
根据组件页面文件和当前页面数据渲染得到目标组件页面。
上述页面生成方法、装置、计算机设备和存储介质,按照实际业务情况或者需求确定当前组件,将当前组件的信息组成的当前组件列表信息和当前页面数据发送至服务器,服务器根据当前组件列表信息查找匹配的目标组件文件,通过预设打包命令对该目标组件文件进行打包,得到组件页面文件,最后根据组件页面文件和当前页面数据渲染得到目标组件页面。通过按需组件列表动态拉取组件代码,可以避免页面中引入了不需要用到的组件代码,有效减小了页面加载量。而且通过服务器打包的方式,将多个使用到的文件都最后打包成一个组件页面文件,有效减小页面请求数目,增加页面性能。
附图说明
图1为一个实施例中页面生成方法的应用环境图;
图2为一个实施例中页面生成方法的流程示意图;
图3为一个实施例中页面生成方法的流程示意图;
图4为一个实施例中当前组件文件检测步骤的流程示意图;
图5为一个实施例中当前组件文件确定步骤的流程示意图;
图6为一个实施例中当前组件文件名称生成步骤的流程示意图;
图7为一个实施例中目标组件文件打包步骤的流程示意图;
图8为一个实施例中目标组件页面渲染步骤的流程示意图;
图9为一个实施例中页面生成装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的页面生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体地,终端102获取到当前页面数据和当前组件列表信息后,发送至服务器104,服务器104接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件,根据当前组件列表信息查找与当前组件信息匹配的目标组件文件,通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件,根据组件页面文件和当前页面数据渲染得到目标组件页面。最后,服务器104可以将渲染好的目标组件页面返回至终端102展示。
在一个实施例中,如图2所示,提供了一种页面生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件。
其中,当前页面数据是终端前端页面相关的数据,终端前端页面是终端提供一个在线编辑页面,可以通过该在线编辑页面进行当前页面的相关页面编辑,得到当前页面数据。而当前组件列表信息是当前组件列表相关的信息,当前组件列表是由当前组件组成的列表,当前组件是与实际业务相对应的组件。其中,与实际业务相对应的组件是根据实际业务需求、产品需求或实际应用场景确定的组件,并不是组件库中所有的组件。
具体地,终端前端提供一个在线编辑页面,可以通过该在线编辑页面进行当前页面的相关页面编辑,产生得到当前页面数据。该在线编辑页面所在的编辑器会从当前组件库中拉取全部组件供用户使用,并将全部组件通过在线编辑页面展示给用户。用户可以根据实际业务需求、产品需求或实际应用场景选择需要使用到的当前组件并进行组件配置,由这些当前组件组成一个当前组件列表,在用户提交生成页面时,会生成当前组件列表信息,一并提交至服务器中。
步骤204,根据当前组件列表信息查找与当前组件信息匹配的目标组件文件。
其中,这里的组件文件是组件相关的所有文件,可以是组件代码文件等。具体地,在得到当前组件列表信息后,可以根据当前组件列表信息中当前组件信息去当前组件库中查找对应的目标组件文件。其中,当前组件信息可以是当前组件名称,当前组件标识等等。当前组件库中包括所有开发好的组件,组件包括组件名称、组件标识、组件属性等等。具体可以是,获取当前组件库所有已开发好的组件,根据当前组件信息和已开发好的组件的组件信息确定目标组件文件。
步骤206,通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件。
其中,这里的预设打包命令是提前通过实际业务需求、产品需求或实际应用场景设置的打包命令,用于对组件文件进行打包,生成对应的组件页面文件的。其中,预设打包命令包括相应的打包逻辑,通过这种打包逻辑对目标组件文件进行打包,从而得到打包后的组件页面文件。其中,组件页面文件是渲染页面所需的组件页面文件。
步骤208,根据组件页面文件和当前页面数据渲染得到目标组件页面。
具体地,可以根据组件页面文件和当前页面数据生成对应的目标组件页面。其中,可以是通过前端应用调用组件页面文件和当前页面数据,渲染生成目标组件页面。或者还可以是,将组件页面文件插入到当前页面数据对应的当前页面中,生成目标组件页面。
上述页面生成方法中,按照实际业务情况或者需求确定当前组件,将当前组件的信息组成的当前组件列表信息和当前页面数据发送至服务器,服务器根据当前组件列表信息查找匹配的目标组件文件,通过预设打包命令对该目标组件文件进行打包,得到组件页面文件,最后根据组件页面文件和当前页面数据渲染得到目标组件页面。通过按需组件列表动态拉取组件代码,可以避免页面中引入了不需要用到的组件代码,有效减小了页面加载量。而且通过服务器打包的方式,将多个使用到的文件都最后打包成一个组件页面文件,有效减小页面请求数目,增加页面性能。
在一个实施例中,如图3所示,通过预设打包命令对目标组件文件进行打包之前,还包括:
步骤302,检测输出指定目录中是否存在当前组件信息对应的当前组件文件。
步骤304,在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入步骤通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件。
步骤306,在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
其中,这里的输出指定目录是存放打包工程的输出文件,如果输出指定目录中存在组件文件,说明已经存在对应的打包组件文件了,反之如果输出指定目录中不存在组件文件,因此,需要对目标组件文件进行打包。
具体地,检测输出指定目录中是否存在当前组件信息对应的当前组件文件,其中,具体可以是,根据当前组件信息中的当前组件名称,查找输出指定目录中是否与该当前组件名称匹配的当前组件文件。
如果该输出指定目录中存在当前组件信息对应的当前组件文件,说明无需再对目标组件文件进行打包,节省打包时间,提高打包效率,直接根据输出指定目录中的当前组件文件,渲染得到目标组件页面。
反之,如果该输出指定目录中不存在当前组件信息对应的当前组件文件,说明之前的打包工程并没有对该当前组件进行打包,因此需要对当前组件信息对应的目标组件文件进行打包,则进入步骤通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件。
在一个实施例中,如图4所示,检测输出指定目录中是否存在当前组件信息对应的当前组件文件,包括:
步骤402,根据当前组件列表信息查找与当前组件信息对应的当前组件标识。
步骤404,获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称。
其中,这里的当前组件标识是当前组件信息对应的当前组件编码,不同的组件对应不同的组件标识,可以通过组件标识确定对应的组件。具体地,在获取到当前组件信息后,根据当前组件信息确定对应的当前组件标识,例如可以根据当前组件名称查找匹配的当前组件标识。比如,当前组件信息为:aicc-image和aicc-button,则确定对应的组件标识分别为2和3。
进一步地,这里的当前组件库版本号是当前组件所在的当前组件库的最新版本号,当前组件库每一次更新迭代都存在对应的版本号。具体地,获取当前组件信息对应的当前组件所在的当前组件库版本号,根据当前组件库版本号和当前组件标识生成当前组件文件名称。具体可以是,将当前组件库版本号和当前组件标识进行拼接,得到当前组件文件名称。
步骤406,获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称。
步骤408,根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
其中,输出指定目录中包括打包工程对应的输出文件,这些打包工程之前生成的输出文件都可以确定候选组件文件,组成候选组件文件集合。而每个候选组件文件都存在自己的候选组件文件名称。因此,可以根据候选组件文件名称和当前组件文件名称,确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
具体可以是,检测候选组件文件集合中是否存在与当前组件文件名称相似的候选组件文件名称,具体可以是,比较候选组件文件名称与当前组件文件名称的相似度。根据该相似度与相似度阈值,确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。例如,当相似度大于相似度阈值时,说明输出指定目录中存在当前组件文件名称对应的当前组件文件。反之,当相似度不大于相似度阈值时,说明输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在一个实施例中,如图5所示,根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件,包括:
步骤502,在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件。
步骤504,在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
具体可以是,检测候选组件文件集合中是否存在与当前组件文件名称相同的候选组件文件名称,若存在,则确定输出指定目录中存在当前组件文件名称对应的当前组件文件。反之,若不存在,则确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。其中,在确定候选组件文件集合中存在与当前组件文件名称相同的候选组件文件名称时,可以确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件。
同样地,在确定候选组件文件集合中不存在与当前组件文件名称相同的候选组件文件名称时,可以确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在一个实施例中,如图6所示,根据当前组件标识和当前组件库版本号合成当前组件文件名称,包括:
步骤602,获取当前组件对应的当前组件名称。
步骤604,根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
其中,合成当前组件文件名称,可以根据当前组件标识、当前组件库版本号和当前组件名称,一起合成当前组件文件名称。具体可以是,获取当前组件对应的当前组件名称,将当前组件名称、当前组件标识和当前组件库版本号进行拼接,得到当前组件文件名称。例如,当前组件为aicc-image和aicc-button,aicc-image和aicc-button对应的当前组件编码分别为2和3,当前组件库版本号为V1.89,当前组件名称为aicc,最后,拼凑出当前组件文件名称为:aicc-23-v1.89.js。
在一个实施例中,如图7所示,通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件,包括:
步骤702,清空打包指令目录,将目标组件文件复制到打包指定目录中。
步骤704,调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
其中,预设打包命令具体可以是,清空指定的打包目录,将目标组件文件复制到该打包目录中,调用指定目录中的配置文件,根据该配置文件和目标组件文件生成组件页面文件。
具体地,清空打包指定目录,这里的打包指定目录是存在需要打包的组件文件,清空完打包指定目录中的所有组件文件后,将目标组件文件复制到该打包指定目录中。进一步地,调用配置指定目录中的目标配置文件,这里的配置指定目录是用来存在配置文件的,从配置指定目录中获取与目标组件文件对应的目标配置文件,最后,根据目标配置文件、目标组件文件生成组件页面文件。
例如,预设打包命令为npm run cdn,执行了build-entry-cdn.js脚本,扫描plugin目录,然后根据扫描结果aicc-image.js、aicc-button.js通过模板语言生成出src/index-cdn.js入口文件。最后,执行webpack打包操作,命令中已经指定加载build/webpack.common.cdn.js配置文件,该配置制定了src/index-cdn.js为入口,lib/aicc-12-v1.89.js作为输出文件。
在一个实施例中,如图8所示,根据组件页面文件和当前页面数据渲染得到目标组件页面,包括:
步骤802,将当前组件文件名称确定为组件页面文件关联的组件文件名称。
步骤804,将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
其中,在得到当前组件文件名称后,将该当前组件文件名称作为组件页面文件的页面文件名称。具体可以是,重新命名该组件页面文件的文件名称,将其更改为当前组件文件名称。进一步地,将重新命名后的组件页面文件件复制至渲染指定目录中,这里的渲染指定目录是用来存放渲染页面的文件的,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。其中根据当前页面数据和组件页面文件生成目标组件页面,具体可以是,将组件页面文件写入到当前页面数据中,得到目标组件页面。
在一个具体的实施例中,提供了一种页面生成方法,具体包括以下步骤:
1、接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件。
2、根据当前组件列表信息查找与当前组件信息匹配的目标组件文件。
3、检测输出指定目录中是否存在当前组件信息对应的当前组件文件。
3-1、根据当前组件列表信息查找与当前组件信息对应的当前组件标识。
3-2、获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称。
3-2-1、获取当前组件对应的当前组件名称。
3-2-2、根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
3-3、获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称。
3-4、根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
3-4-1、在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件。
3-4-2、在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
4、在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入步骤6。
5、在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
6、通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件。
6-1、清空打包指令目录,将目标组件文件复制到打包指定目录中。
6-2、调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
7、根据组件页面文件和当前页面数据渲染得到目标组件页面。
7-1、将当前组件文件名称确定为组件页面文件关联的组件文件名称。
7-2、将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种页面生成装置900,包括:当前组件列表信息接收模块902、目标组件文件查找模块904、组件页面文件打包模块906和目标组件页面生成模块908,其中:
当前组件列表信息接收模块902,用于接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件。
目标组件文件查找模块904,用于根据当前组件列表信息查找与当前组件信息匹配的目标组件文件。
组件页面文件打包模块906,用于通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件。
目标组件页面生成模块908,用于根据组件页面文件和当前页面数据渲染得到目标组件页面。
在一个实施例中,页面生成装置900还用于检测输出指定目录中是否存在当前组件信息对应的当前组件文件,在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入组件页面文件打包模块906,用于通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件,在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
在一个实施例中,页面生成装置900还用于根据当前组件列表信息查找与当前组件信息对应的当前组件标识,获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称,获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称,根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
在一个实施例中,页面生成装置900还用于在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件,在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在一个实施例中,页面生成装置900还用于获取当前组件对应的当前组件名称,根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
在一个实施例中,组件页面文件打包模块906清空打包指令目录,将目标组件文件复制到打包指定目录中,调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
在一个实施例中,目标组件页面生成模块908将当前组件文件名称确定为组件页面文件关联的组件文件名称,将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
关于页面生成装置的具体限定可以参见上文中对于页面生成方法的限定,在此不再赘述。上述页面生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设打包命令。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种页面生成方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;根据组件页面文件和当前页面数据渲染得到目标组件页面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测输出指定目录中是否存在当前组件信息对应的当前组件文件;在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入步骤通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据当前组件列表信息查找与当前组件信息对应的当前组件标识;获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称;获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称;根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件;在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前组件对应的当前组件名称;根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:清空打包指令目录,将目标组件文件复制到打包指定目录中;调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:处理器执行计算机程序时还实现以下步骤:将当前组件文件名称确定为组件页面文件关联的组件文件名称;将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收当前页面数据和当前组件列表信息,当前组件列表包括当前组件信息,当前组件信息是当前组件的组件信息,当前组件是与实际业务相对应的组件;根据当前组件列表信息查找与当前组件信息匹配的目标组件文件;通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;根据组件页面文件和当前页面数据渲染得到目标组件页面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:检测输出指定目录中是否存在当前组件信息对应的当前组件文件;在输出指定目录中不存在当前组件信息对应的当前组件文件时,进入步骤通过预设打包命令对目标组件文件进行打包,得到打包后的组件页面文件;在输出指定目录中存在当前组件信息对应的当前组件文件时,根据当前组件文件渲染得到目标组件页面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据当前组件列表信息查找与当前组件信息对应的当前组件标识;获取当前组件信息对应的当前组件所属的当前组件库版本号,根据当前组件标识和当前组件库版本号合成当前组件文件名称;获取输出指定目录中候选组件文件集合,候选组件文件集合包括至少一个候选组件文件,候选组件文件关联有候选组件文件名称;根据候选组件文件名称和当前组件文件名称确定输出指定目录中是否存在当前组件文件名称对应的当前组件文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在当前候选组件文件名称与当前组件名称相同时,确定当前候选组件文件名称对应的当前候选组件文件为当前组件文件名称对应的当前组件文件;在当前候选组件名称与当前组件名称不同时,确定输出指定目录中不存在当前组件文件名称对应的当前组件文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前组件对应的当前组件名称;根据当前组件名称、当前组件标识和当前组件库版本号拼接成当前组件文件名称。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:清空打包指令目录,将目标组件文件复制到打包指定目录中;调用配置指定目录中的目标配置文件,根据目标配置文件、目标组件文件生成组件页面文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:处理器执行计算机程序时还实现以下步骤:将当前组件文件名称确定为组件页面文件关联的组件文件名称;将组件页面文件复制至渲染指定目录中,前端渲染应用从渲染指定目录中调取组件页面文件,根据当前页面数据和组件页面文件生成目标组件页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种页面生成方法,所述方法包括:
接收当前页面数据和当前组件列表信息,所述当前组件列表包括当前组件信息,所述当前组件信息是当前组件的组件信息,所述当前组件是与实际业务相对应的组件;
根据所述当前组件列表信息查找与所述当前组件信息匹配的目标组件文件;
根据所述当前组件列表信息查找与所述当前组件信息对应的当前组件标识;
获取所述当前组件信息对应的所述当前组件所属的当前组件库版本号,根据所述当前组件标识和所述当前组件库版本号合成当前组件文件名称;
获取输出指定目录中候选组件文件集合,所述候选组件文件集合包括至少一个候选组件文件,所述候选组件文件关联有候选组件文件名称;
根据所述候选组件文件名称和所述当前组件文件名称确定所述输出指定目录中是否存在所述当前组件文件名称对应的当前组件文件;
在所述输出指定目录中不存在所述当前组件信息对应的当前组件文件时,通过预设打包命令对所述目标组件文件进行打包,得到打包后的组件页面文件;
根据所述组件页面文件和所述当前页面数据渲染得到目标组件页面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述输出指定目录中存在当前组件信息对应的当前组件文件时,根据所述当前组件文件渲染得到目标组件页面。
3.根据权利要求1所述的方法,其特征在于,所述根据所述候选组件文件名称和所述当前组件文件名称确定所述输出指定目录中是否存在所述当前组件文件名称对应的当前组件文件,包括:
在当前候选组件文件名称与所述当前组件名称相同时,确定所述当前候选组件文件名称对应的当前候选组件文件为所述当前组件文件名称对应的当前组件文件;
在所述当前候选组件名称与所述当前组件名称不同时,确定所述输出指定目录中不存在所述当前组件文件名称对应的当前组件文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前组件标识和所述当前组件库版本号合成当前组件文件名称,包括:
获取所述当前组件对应的当前组件名称;
根据所述当前组件名称、所述当前组件标识和所述当前组件库版本号拼接成所述当前组件文件名称。
5.根据权利要求1所述的方法,其特征在于,所述通过预设打包命令对所述目标组件文件进行打包,得到打包后的组件页面文件,包括:
清空打包指令目录,将所述目标组件文件复制到打包指定目录中;
调用配置指定目录中的目标配置文件,根据所述目标配置文件、所述目标组件文件生成所述组件页面文件。
6.根据权利要求1所述的方法,其特征在于,所述根据所述组件页面文件和所述当前页面数据渲染得到目标组件页面,包括:
将所述当前组件文件名称确定为所述组件页面文件关联的组件文件名称;
将所述组件页面文件复制至渲染指定目录中,前端渲染应用从所述渲染指定目录中调取组件页面文件,根据所述当前页面数据和所述组件页面文件生成目标组件页面。
7.一种页面生成装置,其特征在于,所述装置包括:
当前组件列表信息接收模块,用于接收当前页面数据和当前组件列表信息,所述当前组件列表包括当前组件信息,所述当前组件信息是当前组件的组件信息,所述当前组件是与实际业务相对应的组件;
目标组件文件查找模块,用于根据所述当前组件列表信息查找与所述当前组件信息匹配的目标组件文件;
组件页面文件打包模块,用于根据所述当前组件列表信息查找与所述当前组件信息对应的当前组件标识,获取所述当前组件信息对应的所述当前组件所属的当前组件库版本号,根据所述当前组件标识和所述当前组件库版本号合成当前组件文件名称,获取输出指定目录中候选组件文件集合,所述候选组件文件集合包括至少一个候选组件文件,所述候选组件文件关联有候选组件文件名称,根据所述候选组件文件名称和所述当前组件文件名称确定所述输出指定目录中是否存在所述当前组件文件名称对应的当前组件文件,在所述输出指定目录中不存在所述当前组件信息对应的当前组件文件时,通过预设打包命令对所述目标组件文件进行打包,得到打包后的组件页面文件;
目标组件页面生成模块,用于根据所述组件页面文件和所述当前页面数据渲染得到目标组件页面。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170762.6A CN112882782B (zh) | 2021-02-08 | 2021-02-08 | 页面生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170762.6A CN112882782B (zh) | 2021-02-08 | 2021-02-08 | 页面生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882782A CN112882782A (zh) | 2021-06-01 |
CN112882782B true CN112882782B (zh) | 2023-12-12 |
Family
ID=76057551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110170762.6A Active CN112882782B (zh) | 2021-02-08 | 2021-02-08 | 页面生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882782B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312109B (zh) * | 2021-06-24 | 2024-09-13 | 广州市思力智慧互联网科技有限公司 | 一种项目打包方法、装置及计算机设备 |
CN114090061B (zh) * | 2021-11-09 | 2024-05-10 | 浪潮卓数大数据产业发展有限公司 | 一种前端文件自适配打包的方法、设备及存储介质 |
CN114816407A (zh) * | 2022-05-24 | 2022-07-29 | 新奥数能科技有限公司 | 组件打包方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3034400A1 (en) * | 2018-02-26 | 2019-08-26 | Carl Solis | System for building and modeling web pages |
CN111259294A (zh) * | 2019-12-31 | 2020-06-09 | 万表名匠(广州)科技有限公司 | 页面加载请求响应方法、装置、设备和存储介质 |
CN111581563A (zh) * | 2020-04-30 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面响应方法、装置、存储介质和电子设备 |
CN112214704A (zh) * | 2020-08-21 | 2021-01-12 | 长沙市到家悠享网络科技有限公司 | 页面处理方法及装置 |
-
2021
- 2021-02-08 CN CN202110170762.6A patent/CN112882782B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3034400A1 (en) * | 2018-02-26 | 2019-08-26 | Carl Solis | System for building and modeling web pages |
CN111259294A (zh) * | 2019-12-31 | 2020-06-09 | 万表名匠(广州)科技有限公司 | 页面加载请求响应方法、装置、设备和存储介质 |
CN111581563A (zh) * | 2020-04-30 | 2020-08-25 | 北京字节跳动网络技术有限公司 | 页面响应方法、装置、存储介质和电子设备 |
CN112214704A (zh) * | 2020-08-21 | 2021-01-12 | 长沙市到家悠享网络科技有限公司 | 页面处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112882782A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882782B (zh) | 页面生成方法、装置、计算机设备和存储介质 | |
US8099729B2 (en) | Method and device for creating and using pre-internalized program files | |
CN111752571B (zh) | 程序升级方法、装置、设备及存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN109032662B (zh) | 代码文件生成方法、装置、计算机设备和存储介质 | |
CN109766124A (zh) | 业务开发方法、装置、计算机设备和存储介质 | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN109361628B (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN112527357B (zh) | 服务热加载更新方法、装置、计算机设备和存储介质 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
CN110109712A (zh) | 业务组件加载方法、装置、计算机设备和存储介质 | |
CN112667246A (zh) | 应用功能扩展的方法、装置及电子设备 | |
CN112451972A (zh) | 基于游戏引擎的资源压缩包构建方法、装置、系统及介质 | |
CN115061673A (zh) | 一种基于低代码可视化表达式编排和执行方法及系统 | |
CN112783866B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN110874216A (zh) | 一种完备代码生成方法、装置、设备和存储介质 | |
CN111309319B (zh) | 可继承的局数据动态页面配置方法和装置 | |
CN112199092B (zh) | 应用的开发方法、装置及电子设备 | |
CN111400243A (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN113797545B (zh) | 游戏脚本处理方法、装置、计算机设备和存储介质 | |
CN112905164A (zh) | 一种项目代码处理方法和装置 | |
CN109840273B (zh) | 一种文案生成方法和装置 | |
CN112612754B (zh) | 一种文件搜索方法、系统、装置及计算机存储介质 | |
CN114579135B (zh) | 一种安装包生成方法及装置 | |
KR102104246B1 (ko) | 화면 분할을 이용한 이미지 병렬 검색 시스템 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |