CN110069736A - 页面加载方法及设备 - Google Patents

页面加载方法及设备 Download PDF

Info

Publication number
CN110069736A
CN110069736A CN201910314378.1A CN201910314378A CN110069736A CN 110069736 A CN110069736 A CN 110069736A CN 201910314378 A CN201910314378 A CN 201910314378A CN 110069736 A CN110069736 A CN 110069736A
Authority
CN
China
Prior art keywords
component
page
end code
mistake
code
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
Application number
CN201910314378.1A
Other languages
English (en)
Inventor
尚一多
林博
任龙飞
张涛
耿悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910314378.1A priority Critical patent/CN110069736A/zh
Publication of CN110069736A publication Critical patent/CN110069736A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种页面加载方法及设备,该方法包括:获取待发布的前端代码,依次对前端代码进行检错修复处理和编译处理,生成前端代码对应的页面文件,并对页面文件进行保存,在接收到浏览器发送的页面请求时,将页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用对应的页面文件进行页面加载,从而实现错误的自动检查以及修复,提高错误检查以及修复的效率,浏览器可以直接获取需要加载的页面对应的页面文件,进行页面的加载,无需再编译页面代码,生成相应的页面文件,可以减少页面加载的时间。

Description

页面加载方法及设备
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种页面加载方法及设备。
背景技术
现有技术中,为了书写方便以及减少代码量,前端开发人员在编写代码时会直接利用封装好的代码(例如封装好的组件),从而使开发人员可以更加快捷的完成前端页面的开发工作。
当完成前端开发工作后,开发人员会将生成的前端代码进行发布。当浏览器加载某个页面时,由于该页面对应的代码可能包含封装好的代码,因此,需要对该页面对应的页面代码进行大量解析工作,生成相应的解析文件,从而浏览器可以调用该解析文件,实现页面的加载。若在解析过程中,检测到代码存在问题,还需要相关开发人员进行调试。
然而,当浏览器加载页面时,需要对页面进行解析,导致页面加载时间较长以及需要人工进行调试以解决问题,问题解决效率低。
发明内容
本发明实施例提供一种页面加载方法及设备,以解决现有技术中页面加载时间长以及需要人工进行调试,问题解决效率低的问题。
第一方面,本发明实施例提供一种页面加载方法,包括:
获取待发布的前端代码;
依次对所述前端代码进行检错修复处理和编译处理,生成所述前端代码对应的页面文件,并对所述页面文件进行保存;
在接收到浏览器发送的页面请求时,将所述页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用所述对应的页面文件进行页面加载。
在一种可能的设计中,所述对所述前端代码进行检错修复处理,包括:
检查所述前端代码是否存在错误;
若所述前端代码存在错误,则对所述错误进行修复。
在一种可能的设计中,所述错误包括拼写错误;
所述检查所述前端代码是否存在错误,包括:
根据预设的正则表达式判断所述前端代码中的组件的属性信息是否存在拼写错误。
在一种可能的设计中,所述属性信息包括属性名称;
所述若所述前端代码存在错误,则对所述错误进行修复,包括:
若所述组件的属性名称存在拼写错误,则获取对应的组件的标准属性名称集合,其中所述标准属性名称集合包含多个标准属性名称;
计算所述组件的属性名称与所述标准属性名称集合包含的各个标准属性名称的相似度;
若存在第一标准属性名称,则将所述组件的属性名称修改为所述第一标准属性名称,其中所述第一标准属性名称为与所述组件的属性名称的相似度大于预设相似度阈值的标准属性名称。
在一种可能的设计中,所述页面文件包括封装组件编译文本;
所述对所述前端代码进行编译处理,生成所述前端代码对应的页面文件包括:
若所述前端代码中存在封装的组件,则判断所述封装的组件包含的子组件是否为预设基础网页组件;
若所述封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对所述封装的组件进行编译,得到封装组件编译文本。
在一种可能的设计中,所述检查所述前端代码是否存在错误,包括:
检测所述前端代码包含的组件的编号是否存在缺失以及是否存在重复;
相应地,所述若所述前端代码存在错误,则对所述错误进行修复,包括:
若存在组件的编号缺失,则获取缺失编号的组件的组件类型,并根据所述组件类型生成对应的组件编号,将生成的组件编号作为缺失编号的组件的编号;
若存在重复的编号,则对重复的编号进行修改。
在一种可能的设计中,所述对所述前端代码进行检错修复处理之后,还包括:
生成代码修复日志,所述代码修复日志包括前端代码中存在的错误、所述存在的错误的位置、前端代码中已修复的错误、所述已修复的错误的位置和/或已修复的错误对应的修复的结果。
第二方面,本发明实施例提供一种页面加载设备,包括:
代码获取模块,用于获取待发布的前端代码;
代码处理模块,用于依次对所述前端代码进行检错修复处理和编译处理,生成所述前端代码对应的页面文件,并对所述页面文件进行保存;
页面加载模块,用于在接收到浏览器发送的页面请求时,将所述页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用所述对应的页面文件进行页面加载。
在一种可能的设计中,所述代码处理模块包括:
错误检查单元,用于检查所述前端代码是否存在错误;
错误修复单元,用于若所述前端代码存在错误,则对所述错误进行修复。
在一种可能的设计中,所述错误包括拼写错误;
所述错误检查单元,具体用于:
根据预设的正则表达式判断所述前端代码中的组件的属性信息是否存在拼写错误。
在一种可能的设计中,所述属性信息包括属性名称;
所述错误修复单元,具体用于:
若所述组件的属性名称存在拼写错误,则获取对应的组件的标准属性名称集合,其中所述标准属性名称集合包含多个标准属性名称;
计算所述组件的属性名称与所述标准属性名称集合包含的各个标准属性名称的相似度;
若存在第一标准属性名称,则将所述组件的属性名称修改为所述第一标准属性名称,其中所述第一标准属性名称为与所述组件的属性名称的相似度大于预设相似度阈值的标准属性名称。
在一种可能的设计中,所述页面文件包括封装组件编译文本;
所述代码处理模块包括:
组件判断单元,用于若所述前端代码中存在封装的组件,则判断所述封装的组件包含的子组件是否为预设基础网页组件;
组件编译单元,用于若所述封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对所述封装的组件进行编译,得到封装组件编译文本。
在一种可能的设计中,所述错误检查单元,具体用于:
检测所述前端代码包含的组件的编号是否存在缺失以及是否存在重复;
相应地,所述错误修复单元,具体用于:
若存在组件的编号缺失,则获取缺失编号的组件的组件类型,并根据所述组件类型生成对应的组件编号,将生成的组件编号作为缺失编号的组件的编号;
若存在重复的编号,则对重复的编号进行修改。
在一种可能的设计中,所述代码处理模块还用于:生成代码修复日志,所述代码修复日志包括前端代码中存在的错误、所述存在的错误的位置、前端代码中已修复的错误、所述已修复的错误的位置和/或已修复的错误对应的修复的结果。
第三方面,本发明实施例提供一种页面加载设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的页面加载方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的页面加载方法。
从本发明实施例可知,对待发布的前端代码进行检错修复处理和编译处理,生成该前端代码对应的页面文件,从而实现错误的自动检查以及修复,无需人工进行调试以发现及修复错误,提高错误检查以及修复的效率,当生成页面文件后,对该页面文件进行保存,在接收到浏览器发送的页面请求时,获取该页面请求对应的页面文件的保存位置,并将该保存位置发送至浏览器,从而使浏览器可以根据该保存位置直接获取需要加载的页面对应的页面文件,进行页面的加载,无需再编译页面代码,生成相应的页面文件,然后才能进行页面的加载,减少页面加载所需的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的页面加载系统的架构示意图;
图2为本发明实施例提供的页面加载方法的流程示意图一;
图3为本发明实施例提供的页面加载方法的流程示意图二;
图4为本发明实施例提供的页面加载设备的结构示意图;
图5为本发明实施例提供的页面加载设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的页面加载系统的架构示意图。如图1所示,本实施例提供的系统包括终端101和浏览器102,终端101在前端代码发布前,检查前端代码是否存在错误,若前端代码存在错误,则对错误进行修复,然后对修复后的前端代码进行编译,得到该前端代码对应的页面文件,若前端代码不存在错误,则直接对该前端代码进行编译,得到对应的页面文件。将得到的页面文件保存至指定的位置。当浏览器102加载某个页面时,需要向终端101请求该页面对应的页面文件的保存位置,然后调用该保存位置下的页面文件,实现页面的加载,无需浏览器运行前端代码,以及对前端代码进行编译,减少页面加载的时间。
需要说明的是,上述浏览器可以为终端101上的浏览器,也可以为其它终端上的浏览器,图1中的浏览器的位置仅为一种示例,本发明实施例并不以此为限。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明实施例提供的页面加载方法的流程示意图一,本实施例的执行主体可以为图1所示实施例中的终端,本实施例此处不做特别限制。如图2所示,该方法包括:
S201、获取待发布的前端代码。
在本实例中,获取待发布的前端代码,该待发布的前端代码是指开发人员已经编写完成但还未进行发布的代码,即浏览器还未进行编译运行的代码。
S202、依次对前端代码进行检错修复处理和编译处理,生成前端代码对应的页面文件,并对页面文件进行保存。
具体地,对前端代码进行检错修复处理的具体过程为:检查前端代码是否存在错误。若前端代码存在错误,则对错误进行修复。当前端代码存在错误时,对前端代码中的错误进行修复,得到修复后的前端代码。然后对修复后的前端代码进行编译处理,生成待发布的前端代码对应的页面文件,当前端代码未存在错误时,则无需对前端代码进行修复,直接对前端代码进行编译处理,生成相应的页面文件。当生成页面文件后,则将页面文件保存至预设位置下,以便后续浏览器调用该页面文件,从而无需浏览器对前端代码进行运行以及编译,生成所需的页面文件,浏览器可以直接获取到页面文件,减少页面加载的时间,也无需在浏览器运行代码时,对代码进行调试,提高代码修复的效率。
其中,页面文件包括封装组件编译文本。
其中,前端代码可能存在的错误包括拼写错误。
当需要检查前端代码中是否存在拼写错误时,可以根据预设的正则表达式判断前端代码中的组件的属性信息是否存在拼写错误。
正则表达式(Regular Expression)描述了一种字符串匹配的模式,其可以用来检查一个串是否含有某种子串等,因此,可以利用多个预设的正则表达式判断前端代码中的组件的属性信息是否存在拼写错误。
其中,属性信息包括组件的属性名称。例如,通过预设的正则表达式检测前端代码中的input组件的value属性名称是否存在拼写错误。
在本实施例中,若前端代码存在错误,则对错误进行修复的过程可以为:若组件的属性名称存在拼写错误,则获取对应的组件的标准属性名称集合,其中标准属性名称集合包含多个标准属性名称,计算组件的属性名称与标准属性名称集合包含的各个标准属性名称的相似度,若存在第一标准属性名称,则将组件的属性名称修改为第一标准属性名称,其中第一标准属性名称为与组件的属性名称的相似度大于预设相似度阈值的标准属性名称。
在本实施例中,当检测到前端代码中的组件的属性名称存在拼写错误时,获取存在错误的组件的标准属性名称集合,该标准属性名称集合中包含的标准属性名称均为该组件正确的属性名称。分别计算组件的属性名称与各个标准属性名称的相似度,若存在与该组件的属性名称的相似度大于预设相似度阈值(例如,90%)的标准属性名称,则将该标准属性名称作为第一标准属性名称,并将该组件的属性名称修改为该第一标准属性名称,从而将组件错误的属性名称修改为正确的属性名称,实现错误的自动修复。示例性地,若检测到前端代码中的input组件的vAlue属性名称存在拼写错误,则获取input组件对应的标准属性名称集合,该标准属性名称集合包含多个标准属性名称,该标准属性名称为input组件对应的正确的属性名称,分别计算vAlue与各个标准属性名称的相似度,该标准属性名称包括value,若计算出vAlue与value的相似度大于预设相似度阈值,则确定value为第一标准属性名称,将input组件的vAlue修改为value。
其中,可以基于编辑距离、余弦相似性等计算字符串相似度的算法计算组件的属性名称与标准属性名称的相似度。
其中,属性信息还可以包括属性的枚举值和自定义值。
在项目开发过程中,为了适应快速的迭代周期,一般会将多个基础网页组件(例如select组件)封装为统一的组件,将封装得到的组件作为封装的组件,将封装的组件所包含的基础网页组件作为子组件,子组件的属性通过在封装的组件的属性中配置相应的枚举值或自定义值来实现。因此,还可以根据预设的正则表达式检查前端代码中的枚举值或自定义值是否存在拼写错误,若存在错误,则对其进行修复,修复的过程与上述对存在拼写错误的组件的名称进行修复的过程类似,均是获取正确的值,然后将存在拼写错误的枚举值或自定义值修改为对应的正确的值。
在一种可能的设计中,检查前端代码是否存在错误,包括:
检测前端代码包含的组件的编号是否存在缺失以及是否存在重复;
相应地,若前端代码存在错误,则对错误进行修复,包括:
若存在组件的编号缺失,则获取缺失编号的组件的组件类型,并根据组件类型生成对应的组件编号,将生成的组件编号作为缺失编号的组件的编号;
若存在重复的编号,则对重复的编号进行修改。
在本实施例中,前端代码中的所有组件都有唯一标识,即组件的编号的都是唯一的,但是在开发人员书写不规范的情况下,前端代码中可能还会存在编号缺失和编号重复的错误。
当检查前端代码中是否存在错误时,还需检查前端代码包含的组件的编号是否缺失以及是否与其它的组件的编号重复。若存在组件缺失编号,则表示该组件没有对应的编号,需要重新为该组件分配一个编号。在为组件分配一个编号之前,需要先生成一个编号,然后将生成的编号作为该组件的编号。
其中,生成编号的具体过程为:获取缺失编号的组件的组件类型以及对应的组件类型的名称,随机生成若干个字符,将生成的字符与该名称进行组合,得到对应的字符串,即生成相应的编号,其中字符可以为字母、数字和/或符号。
其中,生成的字符与组件类型的名称进行组合的方式可以为:将生成的字符添加至组件的名称的后面,或者将组件类型的名称添加至生成的字符的后面,也可以为其它组合方式,在此,不对其进行限定。
在开发过程中,一个类型的组件的编号一般是按照顺序进行编写的,例如,某种类型的第一个组件的编号为1,第二个组件的编号则为2。相应地,生成编号的具体过程还可以为:获取缺失编号的组件的组件类型,将其作为目标组件类型,获取前端代码包含的类型为目标组件类型的组件的编号,对获取到的编号进行排序,在排名最高的编号的基础上自动加上一个预设数值,生成一个编号,并将该编号作为缺失编号的组件的编号。
在本实施例中,当检测到前端代码中存在重复的组件编号时,对其中一个组件的编号不进行修改,对剩余的组件的编号进行修改,例如,组件A、B和C的编号相同,均为a,则重复的编号的数量为3,保留组件A的编号不变,其编号仍为a,对组件B和C的编号进行修改。
其中,当对剩余的组件编号修改时,需要先生成相应的编号,然后将生成的编号作为对应组件的编号,该生成编号的过程与上述生成编号的过程类似,在此,不再对其进行赘述。
在一种可能的设计中,对前端代码进行检错修复处理之后,还包括:
生成代码修复日志,代码修复日志包括前端代码中存在的错误、存在的错误的位置、前端代码中已修复的错误、已修复的错误的位置和/或已修复的错误对应的修复的结果。
在本实施例中,当检查出前端代码存在错误后,获取该错误的类型,判断该错误的类型是否为自动修复类型,其中,自动修复类型包括上述的拼写错误、编号缺失以及编号重复,若判断该错误的类型为自动修复类型,则按照上述的修复方式对该错误进行自动修复,当将所有类型为自动修复类型的错误修复完毕后,生成代码修复日志,其中,代码修复日志包括前端代码中存在的错误、已修复的错误、已修复的错误的位置和/或已修复的错误对应的修复的结果。若判断该错误的类型不为自动修复类型,则生成错误日志,其中,该错误日志包括前端代码中待修复的错误以及待修复的错误的日志。
其中,已修复的错误的位置为已修复的错误在前端代码中的所处位置,方便开发人员可以根据该位置查看对应的代码。
其中,已修复的错误对应的修复结果为对错误进行修复后的结果,例如,将velue修复为value,则修复结果变为value。
在本实施例中,当检测前端代码存在错误后,获取该错误的类型,若该类型属于自动修复类型,则对该错误进行自动修复,并生成错误修复日志,以使开发人员可以进行验证以及查看,若该类型不属于自动修复类型,则生成错误日志,以使开发人员可以及时获取前端代码中存在的错误,及时修复错误。
在本实施例中,上述检错修复处理的方式可以在预设检错修复脚本中定义,终端通过调用预设检错修复脚本执行上述检错修复过程,在实际开发中,开发人员也可以在预设检错修复脚本中定义个性化的检错及修复方式。
在本实施例中,检查前端代码是否存在错误,若存在错误,则判断该错误是否可以自动修复,若可以自动修复,则自动对错误进行修复,若不可以自动修复,则生成相应的错误日志,由于错误日志仅包括无法自动修复的错误信息,开发人员可以较快发现存在的错误,可读性高,实现错误的自动检查以及修复,无需人工进行检查错误,避免出现需反复启动项目,通过浏览器访问页面才能发现这些错误的情况,无需人工通过浏览器进行调试工作,提高前端代码的容错性,从而提高交付版本的可靠性。
S203、在接收到浏览器发送的页面请求时,将页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用对应的页面文件进行页面加载。
在本实施例中,当浏览器需要加载某个页面时,发送相应的页面请求至终端,终端在接收到浏览器发送的页面请求时,查找该页面请求对应的页面文件的保存位置,并将该保存位置发送至浏览器,浏览器调用该保存位置下的页面文件,实现页面的加载,从而使浏览器无需在加载某个页面时,还需进行上述调试以及编译工作,减少资源以及时间的浪费。
从上述描述可知,对待发布的前端代码进行检错修复处理和编译处理,生成该前端代码对应的页面文件,无需人工对前端代码进行调试,可以自动检查错误以及修复错误,提高错误的修复效率,当生成页面文件后,对该页面文件进行保存,当接收到浏览器发送的页面请求时,获取该页面请求对应的页面文件的保存位置,并将该保存位置发送至浏览器,以使浏览器可以调用请求的页面文件,进行页面的加载,浏览器可以直接获取需要加载的页面对应的页面文件,进行页面的加载,无需再运行以及解析页面代码,生成相应的页面文件,从而可以减少页面加载的时间。
图3为本发明实施例提供的页面加载方法的流程示意图二,本实施例在图2实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图3所示,该方法包括:
S301、获取待发布的前端代码。
S302、对前端代码进行检错修复处理。
在本实施例中,S301至S302与图2实施例中的S201以及S202中的对钱代码进行检错修复处理过程类似,本实施例此处不做任何限制。
S303、若前端代码中存在封装的组件,则判断封装的组件包含的子组件是否为预设基础网页组件。
在项目开发过程中,为了适应快速的迭代周期,一般会将多个基础网页组件封装为统一的组件,将封装得到的组件作为封装的组件,将封装的组件所包含的基础网页组件作为子组件,子组件的属性通过在封装的组件的属性中配置相应的枚举值或自定义值来实现。
在本实施例中,在对前端代码进行编译的过程中,当当前编译的代码的为封装的组件的代码,则判断该封装的组件包含的子组件是否为预设基础网页组件。预设基础网页组件包括input组件、select组件和button组件等网页常用组件。例如,将input组件和select组件封装为a-base组件,input组件和select组件的属性通过在a-base组件的属性options的json字符串中配置相应的枚举值或自定义值来实现。
S304、若封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对封装的组件进行编译,得到封装组件编译文本。
在本实施例中,若判断出封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对该封装的组件进行编译,得到封装组件编译文本,无需浏览器再对该封装的组件进行相应的编译,减少浏览器第一次加载该页面的时间,用户体验高。
其中,预设编译脚本可以为前端代码所使用的框架提供的编译脚本,也可以为开发人员自己编写的编译脚本。
在本实例中,前端代码中也可能会包括其它封装的对象,例如封装的方法,也可以按照上述对封装的组件进行编译的过程,对其它封装的对象进行编译,得到对应的编译文本。
S305、在接收到浏览器发送的页面请求时,将页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用对应的页面文件进行页面加载。
其中,S305与图2实施例中的S203类似,本实施例此处不做特别限制。
在本实施例中,对封装的组件进行编译处理,生成对应的组件封装文本,无需浏览器在加载页面时,还需对组件进行编译,减少复杂组件在浏览器端运行时编译、解析所耗费的时间。
图4为本发明实施例提供的页面加载设备的结构示意图。如图4所示,该页面加载设备40包括:代码获取模块401、代码处理模块402、以及页面加载模块403。
代码获取模块401,用于获取待发布的前端代码。
代码处理模块402,用于依次对前端代码进行检错修复处理和编译处理,生成前端代码对应的页面文件,并对页面文件进行保存。
页面加载模块403,用于在接收到浏览器发送的页面请求时,将页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用对应的页面文件进行页面加载。
在一种可能的设计中,代码处理模块402包括:
错误检查单元,用于检查前端代码是否存在错误。
错误修复单元,用于若前端代码存在错误,则对错误进行修复。
在一种可能的设计中,错误包括拼写错误。
错误检查单元具体用于:
根据预设的正则表达式判断前端代码中的组件的属性信息是否存在拼写错误。
在一种可能的设计中,属性信息包括属性名称。
错误修复单元具体用于:
若组件的属性名称存在拼写错误,则获取对应的组件的标准属性名称集合,其中标准属性名称集合包含多个标准属性名称。
计算组件的属性名称与标准属性名称集合包含的各个标准属性名称的相似度。
若存在第一标准属性名称,则将组件的属性名称修改为第一标准属性名称,其中第一标准属性名称为与组件的属性名称的相似度大于预设相似度阈值的标准属性名称。
在一种可能的设计中,页面文件包括封装组件编译文本。
代码处理模块402包括:
组件判断单元,用于若前端代码中存在封装的组件,则判断封装的组件包含的子组件是否为预设基础网页组件。
组件编译单元,用于若封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对封装的组件进行编译,得到封装组件编译文本。
在一种可能的设计中,错误检查单元具体用于:
检测前端代码包含的组件的编号是否存在缺失以及是否存在重复。
相应地,错误修复单元具体用于:
若存在组件的编号缺失,则获取缺失编号的组件的组件类型,并根据组件类型生成对应的组件编号,将生成的组件编号作为缺失编号的组件的编号。
若存在重复的编号,则对重复的编号进行修改。
在一种可能的设计中,代码处理模块402还用于:生成代码修复日志,代码修复日志包括前端代码中存在的错误、存在的错误的位置、前端代码中已修复的错误、已修复的错误的位置和/或已修复的错误对应的修复的结果。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本发明实施例提供的页面加载设备的硬件结构示意图。如图5所示,本实施例的页面加载设备50包括:处理器501以及存储器502;其中
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现上述实施例中接收设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该页面加载设备还包括总线503,用于连接所述存储器和处理器。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的页面加载方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种页面加载方法,其特征在于,包括:
获取待发布的前端代码;
依次对所述前端代码进行检错修复处理和编译处理,生成所述前端代码对应的页面文件,并对所述页面文件进行保存;
在接收到浏览器发送的页面请求时,将所述页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用所述对应的页面文件进行页面加载。
2.根据权利要求1所述的方法,其特征在于,所述对所述前端代码进行检错修复处理,包括:
检查所述前端代码是否存在错误;
若所述前端代码存在错误,则对所述错误进行修复。
3.根据权利要求2所述的方法,其特征在于,所述错误包括拼写错误;
所述检查所述前端代码是否存在错误,包括:
根据预设的正则表达式判断所述前端代码中的组件的属性信息是否存在拼写错误。
4.根据权利要求3所述的方法,其特征在于,所述属性信息包括属性名称;
所述若所述前端代码存在错误,则对所述错误进行修复,包括:
若所述组件的属性名称存在拼写错误,则获取对应的组件的标准属性名称集合,其中所述标准属性名称集合包含多个标准属性名称;
计算所述组件的属性名称与所述标准属性名称集合包含的各个标准属性名称的相似度;
若存在第一标准属性名称,则将所述组件的属性名称修改为所述第一标准属性名称,其中所述第一标准属性名称为与所述组件的属性名称的相似度大于预设相似度阈值的标准属性名称。
5.根据权利要求1所述的方法,其特征在于,所述页面文件包括封装组件编译文本;
所述对所述前端代码进行编译处理,生成所述前端代码对应的页面文件包括:
若所述前端代码中存在封装的组件,则判断所述封装的组件包含的子组件是否为预设基础网页组件;
若所述封装的组件包含的子组件为预设基础网页组件,则调用预设编译脚本,对所述封装的组件进行编译,得到封装组件编译文本。
6.根据权利要求2所述的方法,其特征在于,所述检查所述前端代码是否存在错误,包括:
检测所述前端代码包含的组件的编号是否存在缺失以及是否存在重复;
相应地,所述若所述前端代码存在错误,则对所述错误进行修复,包括:
若存在组件的编号缺失,则获取缺失编号的组件的组件类型,并根据所述组件类型生成对应的组件编号,将生成的组件编号作为缺失编号的组件的编号;
若存在重复的编号,则对重复的编号进行修改。
7.根据权利要求1所述的方法,其特征在于,所述对所述前端代码进行检错修复处理之后,还包括:
生成代码修复日志,所述代码修复日志包括前端代码中存在的错误、所述存在的错误的位置、前端代码中已修复的错误、所述已修复的错误的位置和/或已修复的错误对应的修复的结果。
8.一种页面加载设备,其特征在于,包括:
代码获取模块,用于获取待发布的前端代码;
代码处理模块,用于依次对所述前端代码进行检错修复处理和编译处理,生成所述前端代码对应的页面文件,并对所述页面文件进行保存;
页面加载模块,用于在接收到浏览器发送的页面请求时,将所述页面请求对应的页面文件的保存位置发送至浏览器,以使浏览器调用所述对应的页面文件进行页面加载。
9.一种页面加载设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的页面加载方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的页面加载方法。
CN201910314378.1A 2019-04-18 2019-04-18 页面加载方法及设备 Pending CN110069736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910314378.1A CN110069736A (zh) 2019-04-18 2019-04-18 页面加载方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910314378.1A CN110069736A (zh) 2019-04-18 2019-04-18 页面加载方法及设备

Publications (1)

Publication Number Publication Date
CN110069736A true CN110069736A (zh) 2019-07-30

Family

ID=67368117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910314378.1A Pending CN110069736A (zh) 2019-04-18 2019-04-18 页面加载方法及设备

Country Status (1)

Country Link
CN (1) CN110069736A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708963A (zh) * 2020-05-22 2020-09-25 北京百度网讯科技有限公司 页面请求的处理方法、装置、电子设备和存储介质
CN112732239A (zh) * 2020-12-29 2021-04-30 望海康信(北京)科技股份公司 页面动态生成方法、系统及相应设备和存储介质
CN113835740A (zh) * 2021-11-29 2021-12-24 山东捷瑞数字科技股份有限公司 一种面向搜索引擎优化的前端代码自动修复方法
CN114237763A (zh) * 2021-12-23 2022-03-25 建信金融科技有限责任公司 提高组件首次加载速度的方法、装置、设备、介质及产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654882A (zh) * 2011-03-02 2012-09-05 北京千橡网景科技发展有限公司 用于加载页面的方法和设备
CN107577465A (zh) * 2017-09-21 2018-01-12 国云科技股份有限公司 一种网页代码的校正方法
CN107632826A (zh) * 2016-07-14 2018-01-26 腾讯科技(深圳)有限公司 一种源代码的编译方法和客户端
US20190018715A1 (en) * 2017-07-13 2019-01-17 International Business Machines Corporation Facilitating event-driven processing using unikernels
CN109241477A (zh) * 2018-07-27 2019-01-18 沈文策 一种网站页面加载方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654882A (zh) * 2011-03-02 2012-09-05 北京千橡网景科技发展有限公司 用于加载页面的方法和设备
CN107632826A (zh) * 2016-07-14 2018-01-26 腾讯科技(深圳)有限公司 一种源代码的编译方法和客户端
US20190018715A1 (en) * 2017-07-13 2019-01-17 International Business Machines Corporation Facilitating event-driven processing using unikernels
CN107577465A (zh) * 2017-09-21 2018-01-12 国云科技股份有限公司 一种网页代码的校正方法
CN109241477A (zh) * 2018-07-27 2019-01-18 沈文策 一种网站页面加载方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈建勋: "《XSLT从入门到精通》", 30 January 2002 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708963A (zh) * 2020-05-22 2020-09-25 北京百度网讯科技有限公司 页面请求的处理方法、装置、电子设备和存储介质
CN111708963B (zh) * 2020-05-22 2023-09-29 北京百度网讯科技有限公司 页面请求的处理方法、装置、电子设备和存储介质
CN112732239A (zh) * 2020-12-29 2021-04-30 望海康信(北京)科技股份公司 页面动态生成方法、系统及相应设备和存储介质
CN113835740A (zh) * 2021-11-29 2021-12-24 山东捷瑞数字科技股份有限公司 一种面向搜索引擎优化的前端代码自动修复方法
CN114237763A (zh) * 2021-12-23 2022-03-25 建信金融科技有限责任公司 提高组件首次加载速度的方法、装置、设备、介质及产品
CN114237763B (zh) * 2021-12-23 2023-06-02 建信金融科技有限责任公司 提高组件首次加载速度的方法、装置、设备、介质及产品

Similar Documents

Publication Publication Date Title
CN110069736A (zh) 页面加载方法及设备
CN109063477B (zh) 一种自动化的智能合约代码缺陷检测系统和方法
US9898387B2 (en) Development tools for logging and analyzing software bugs
US6978443B2 (en) Method and apparatus for organizing warning messages
US7530056B1 (en) Method and system for detecting runtime defects in a program by comparing correct and incorrect runs
US7577889B1 (en) Method for detecting software errors and vulnerabilities
CN108563575B (zh) 应用程序测试方法、装置、终端及计算机可读存储介质
EP2420932A1 (en) Solving hybrid constraints to validate a security software module for detecting injection attacks
US10089218B2 (en) Methods circuits apparatuses systems and associated computer executable code for generating a software unit test
CN110704297A (zh) 代码评审方法、装置、计算机设备及存储介质
CN103617120A (zh) 一种单元测试方法和装置
CN106681783A (zh) 一种svn代码检测方法及其系统
CN105653268A (zh) 规则引擎调试方法及系统
US9396097B2 (en) Methods, circuits, devices, systems and associated computer executable code for testing software code
CN103678116A (zh) 用于促进自动化程序测试的方法和系统
CN109739824A (zh) 日志获取方法及设备
CN111680463A (zh) 一种文件检查方法和装置
US8438000B2 (en) Dynamic generation of tests
CN109558315A (zh) 测试范围的确定方法、装置及设备
US20070150866A1 (en) Displaying parameters associated with call statements
CN112579475A (zh) 代码测试方法、装置、设备及可读存储介质
CN113254347A (zh) 一种日志函数添加方法、计算设备及储存介质
CN113238953A (zh) Ui自动化测试方法、装置、电子设备和存储介质
CN112527660B (zh) 代码的静态检测方法和装置
US8707101B2 (en) Verification of operating self modifying code

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190730