CN110262846A - 基于模块的界面加载方法、系统、计算机设备及存储介质 - Google Patents
基于模块的界面加载方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110262846A CN110262846A CN201910375801.9A CN201910375801A CN110262846A CN 110262846 A CN110262846 A CN 110262846A CN 201910375801 A CN201910375801 A CN 201910375801A CN 110262846 A CN110262846 A CN 110262846A
- Authority
- CN
- China
- Prior art keywords
- module
- loaded
- interface
- name
- store path
- 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
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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
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 Transfer Between Computers (AREA)
Abstract
本公开提供了一种基于模块的界面加载方法,该方法包括:响应于界面加载信号,确定用于组成界面的待加载模块的模块名;获取模块定义集合,其中,模块定义集合中包含模块名与模块存储路径的对应关系;从模块定义集合中确定与待加载模块的模块名对应的模块存储路径;以及根据对应的模块存储路径加载待加载模块,以实现对界面的加载。本公开还提供了一种基于模块的界面加载系统、一种计算机设备及一种计算机可读存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于模块的界面加载方法、系统、计算机设备及计算机可读存储介质。
背景技术
JavaScript(简称为JS)是一种广泛用于客户端的直译式脚本语言,现实场景中通常将其模块化,并将模块后的JS(又称为JS模块)应用在HTML网页上,用来给HTML网页增加功能。
目前,现有技术通过JS模块实现网页功能时,实际是将需要引入的JS模块的路径写死在网页代码中。此时,若对其中任何一个JS模块进行升级,则需要将所有使用该JS模块的网页重新修改一遍,操作十分繁琐。
发明内容
本公开的目的是提供一种基于模块的界面加载方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中一旦对JS模块升级则需要将每个引入该JS模块的网页进行修改导致操作非常繁琐的缺陷。
本公开的一个方面提供了一种基于模块的界面加载方法,上述方法包括:响应于界面加载信号,确定用于组成上述界面的待加载模块的模块名;获取模块定义集合,其中,上述模块定义集合中包含模块名与模块存储路径的对应关系;从上述模块定义集合中确定与上述待加载模块的模块名对应的模块存储路径;以及根据上述对应的模块存储路径加载上述待加载模块,以实现对上述界面的加载。
根据本公开的实施例,上述确定用于组成上述界面的待加载模块的模块名,包括:确定用于组成上述界面的待加载公共模块的模块名;以及确定用于组成上述界面的待加载私有模块的模块名。
根据本公开的实施例,上述确定用于组成上述界面的待加载私有模块的模块名,包括:确定上述界面对应的入口标签;确定与上述入口标签对应的模块名;以及将上述与上述入口标签对应的模块名确定为上述待加载私有模块的模块名。
根据本公开的实施例,上述从上述模块定义集合中确定与上述待加载模块的模块名对应的模块存储路径,包括:确定上述待加载模块的模块名的优先级;以及根据上述优先级,从上述模块定义集合中确定与上述待加载模块的模块名对应的模块存储路径。
根据本公开的实施例,上述根据上述对应的模块存储路径加载上述待加载模块,以实现对上述界面的加载,包括:根据上述对应的模块存储路径及上述待加载模块的模块名的优先级加载上述待加载模块,以实现对上述界面的加载,其中,上述待加载公共模块的模块名的优先级高于上述待加载私有模块的模块名的优先级。
根据本公开的实施例,上述待加载模块包括JS模块。
本公开的另一个方面还提供了一种基于模块的界面加载系统,上述系统包括:第一确定模块,用于响应于界面加载信号,确定用于组成上述界面的待加载模块的模块名;获取模块,用于获取模块定义集合,其中,上述模块定义集合中包含模块名与模块存储路径的对应关系;第二确定模块,用于从上述模块定义集合中确定与上述待加载模块的模块名对应的模块存储路径;以及加载模块,用于根据上述对应的模块存储路径加载上述待加载模块,以实现对上述界面的加载。
根据本公开的实施例,上述第一确定模块包括:第一确定单元,用于确定用于组成上述界面的待加载公共模块的模块名;以及第二确定单元,用于确定用于组成上述界面的待加载私有模块的模块名。
根据本公开的实施例,上述第二确定单元还用于:确定上述界面对应的入口标签;确定与上述入口标签对应的模块名;以及将上述与上述入口标签对应的模块名确定为上述待加载私有模块的模块名。
根据本公开的实施例,上述第二确定模块包括:第三确定单元,用于确定上述待加载模块的模块名的优先级;以及第四确定单元,用于根据上述优先级,从上述模块定义集合中确定与上述待加载模块的模块名对应的模块存储路径。
根据本公开的实施例,上述加载模块还用于根据上述对应的模块存储路径及上述待加载模块的模块名的优先级加载上述待加载模块,以实现对上述界面的加载,其中,上述待加载公共模块的模块名的优先级高于上述待加载私有模块的模块名的优先级。
根据本公开的实施例,上述待加载模块包括JS模块。
本公开的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上任一项所述的方法的步骤。
本公开的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时用于实现如上任一项所述的方法的步骤。
本公开提供的基于模块的界面加载方法,在界面加载信号被触发后,可以确定该界面将会由哪些待加载模块构成,并确定该待加载模块的模块名,然后获取预先定义好的模块定义集合,并从该模块定义集合中查找出与待加载模块的模块名对应的模块存储路径,然后从该对应的模块存储路径中加载这些待加载模块,以便可以实现对界面的加载。显然,本公开的实施例是将模块名写死在界面代码中,在对某一模块进行升级后,只需要修改模块定义集合中的该模块名对应的模块存储路径即可,而并不涉及到对引入该模块的界面进行修改。通过本公开的实施例,克服了现有技术中一旦对JS模块升级则需要将每个引入该JS模块的网页进行修改导致操作非常繁琐的缺陷,达到了极大的降低操作复杂度的技术效果。
附图说明
图1示意性示出了根据本公开实施例的基于模块的界面加载方法的流程图;
图2示意性示出了根据本公开实施例的module.js模块的示意图;
图3示意性示出了根据本公开实施例的页面加载过程的示意图;
图4示意性示出了根据本公开实施例的加载待加载模块过程的示意图;
图5示意性示出了根据本公开实施例的基于模块的界面加载系统的框图;以及
图6示意性示出了根据本公开实施例的适于实现基于模块的界面加载方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
考虑到现有技术中一旦对JS模块升级则需要将每个引入该JS模块的网页进行修改导致操作非常繁琐的缺陷。本公开提供的基于模块的界面加载方法,在界面加载信号被触发后,可以确定该界面将会由哪些待加载模块构成,并确定该待加载模块的模块名,然后获取预先定义好的模块定义集合,并从该模块定义集合中查找出与待加载模块的模块名对应的模块存储路径,然后从该对应的模块存储路径中加载这些待加载模块,以便可以实现对界面的加载。显然,本公开的实施例是将模块名写死在界面代码中,在对某一模块进行升级后,只需要修改模块定义集合中的该模块名对应的模块存储路径即可,而并不涉及到对引入该模块的界面进行修改,达到了极大的降低操作复杂度的技术效果。
图1示意性示出了根据本公开实施例的基于模块的界面加载方法的流程图。
如图1所示,该基于模块的界面加载方法可以包括步骤S101~步骤S104,其中:
步骤S101,响应于界面加载信号,确定用于组成界面的待加载模块的模块名。
在本公开的实施例中,该界面加载信号可以是由用户触发的,也可以是系统定时触发的,在此不作限定。待加载模块可以包括至少一个模块,每个模块对应一个模块名,确定待加载模块的模块名即是确定每一个待加载模块的模块名,其中,待加载模块可以包括JS模块。
根据本公开的实施例,待加载模块可以包括待加载公共模块和待加载私有模块,确定用于组成界面的待加载模块的模块名,可以包括:确定用于组成界面的待加载公共模块的模块名;以及确定用于组成界面的待加载私有模块的模块名。其中,界面可以由待加载公共模块和待加载私有模块组成,待加载公共模块可以是所有界面所公用的部分,待加载私有模块可以每个界面的个性化部分。
根据本公开的实施例,待加载公共模块的模块名可以预先定义在modulesLoad方法中,本公开的实施例通过加载modulesLoad方法可以获取待加载公共模块的模块名,例如jq和form。
根据本公开的实施例,确定用于组成界面的待加载私有模块的模块名,可以包括:确定界面对应的入口标签;确定与入口标签对应的模块名;以及将与入口标签对应的模块名确定为待加载私有模块的模块名。具体地,每个界面可以对应有一个入口标签,通过操作(例如点击、触摸)该入口标签可以触发界面加载信号,当然,通过输入该界面对应的网址也可以触发该界面加载信号,在此不再详细举例。在应用本公开的实施例之前,可以预先在该入口标签处引入一个JS模块例如versionQuery.js模块,在该versionQuery.js模块中定义了用于加载待加载私有模块loadModules方法,该loadModules方法中定义了该界面需要引入的所有的待加载私有模块的模块名,本公开的实施例可以通过调用该loadModules方法获取这些模块名。
例如,对于新浪网站中的新闻界面,新闻标签为该新闻界面的入口标签。其中,在新闻标签处预先设置了一个逻辑,该逻辑为点击或触摸新闻标签后系统内部自动下载并运行versionQuery.js模块,其中,该逻辑可以通过target="/js/version/versionQuery.js></script>"语句实现。在versionQuery.js模块中定义有loadModules方法,该loadModules方法中定义了新闻界面需要引入的所有的待加载私有模块的模块名例如为sui和tools。在加载待加载私有模块时,可以获取target中定义的versionQuery.js模块,然后通过调用versionQuery.js模块中的loadModules方法确定用于组成该新闻界面的待加载私有模块的模块名有哪些,例如待加载私有模块的模块名为sui和tools。
步骤S102,获取模块定义集合,其中,模块定义集合中包含模块名与模块模块存储路径的对应关系。
例如,模块定义集合中包括10条对应关系,其中,冒号前面为模块名,冒号后面为模块存储路径,第1条为’jq’:’/js/common/jquery-3.1.1.min.js’,第2条为’jq-ajax’:’/js/common/jquery-ajax.js’,第3条为’form’:’/js/common/form.js’,第4条为’table’:’/js/common/table.js’,第5条为’formatter’:’/js/common/formatter.js’,第6条为‘sui’:’http://g.alicdn.com/sj/dpl/1.5.1/js/sui.min.js’,第7条为’md5’:’/js/common/md5.js’,第8条为’qrcode’:’/js/common/qrcode.min.js’,第9条为’message’:’/js/common/message.js’,第10条为’tools’:’/js/common/tools.js’。
在本公开的实施例中,模块定义集合中可以包括整个网站中所有界面需要用到的模块的模块名以及模块存储路径。在工作人员对任一模块升级或者将调整任一模块的模块存储路径之后,可以只修改模块定义集合中该被修改的模块的模块存储路径,即只需要修改一次,而不需要如现有技术那般将每一个引用该模块的界面均修改一遍。
需要说明的是,本公开实施例中的模块名可以为模块的真实名称,也可以为模块的别名,模块存储路径可以为模块的真实存放路径。
步骤S103,从模块定义集合中确定与待加载模块的模块名对应的模块存储路径。
在本公开的实施例中,从模块定义集合中确定与待加载模块的模块名对应的模块存储路径,可以包括:确定待加载模块的模块名的优先级;以及根据优先级,从模块定义集合中确定与待加载模块的模块名对应的模块存储路径。
其中,每个待加载模块可以具有不同的优先级,相应的,每个待加载模块的模块名也对应不同的优先级。待加载模块可以分为待加载公共模块和待加载私有模块,对于每一个待加载公共模块和每一个待加载私有模块而言,每一个待加载公共模块的模块名的优先级均高于每一个待加载私有模块的模块名的优先级。则根据优先级,从模块定义集合中确定与待加载模块的模块名对应的模块存储路径,可以是,先从模块定义集合中确定出与待加载公共模块的模块名对应的模块存储路,再从模块定义集合中确定出与待加载私有模块的模块名对应的模块存储路径。
根据本公开的实施例,若是待加载公共模块包括多个模块,也可以根据每个待加载公共模块的模块名的优先级,确定对应的模块存储路径;相应的,若是待加载私有模块包括多个模块,也可以根据每个待加载私有模块的模块名的优先级,确定对应的模块存储路径。
例如,modulesLoad方法中预先定义了待加载公共模块的模块名jq和form,且jq的优先级高于form的优先级,则在确定待加载公共模块的模块名对应的模块存储路径时,可以先从模块定义集合中确定出jq对应的模块存储路径/js/common/jquery-3.1.1.min.js,再确定出form对应的模块存储路径/js/common/form.js;然后通过入口标签加载loadModules方法,该loadModules方法中预先定义了待加载私有模块的模块名为sui和tools,且sui的优先级高于tools的优先级,则在确定待加载私有模块的模块名对应的模块存储路径时,可以先从模块定义集合中确定出sui对应的模块存储路径http://g.alicdn.com/sj/dpl/1.5.1/js/sui.min.js,再确定出tools对应的模块存储路径/js/common/tools.js。
步骤S104,根据对应的模块存储路径加载待加载模块,以实现对界面的加载。
在本公开的实施例,对于任一待加载模块的模块名而言,在确定出该待加载模块对应的模块存储路径之后,可以直接从该模块存储路径中加载该待加载模块,然后循环执行上述操作,直至所有的待加载模块均加载完成。
优选地,根据对应的模块存储路径加载待加载模块,以实现对界面的加载,可以包括:根据对应的模块存储路径及待加载模块的模块名的优先级加载待加载模块,以实现对界面的加载。
由于每个待加载模块有自己的优先级,在根据优先级确定出模块存储路径之后,还可以根据优先级加载待加载模块。比如,对于优先级最高的待加载模块,在确定出其对应的模块存储路径之后,从该路径中加载该模块;进一步,确定下一级别优先级的待加载模块的模块存储路径。
例如,在执行modulesLoad方法时,首先,获知待加载公共模块的模块名jq,然后从模块定义集合中确定出jq对应的模块存储路径/js/common/jquery-3.1.1.min.js,并从该模块存储路径中加载该模块,然后根据modulesLoad方法获知待加载公共模块的模块名form,再从模块定义集合中确定出form对应的模块存储路径/js/common/form.js,进而该模块存储路径中加载该模块。若此时该新闻界面对应的所有的待加载公共该模块均已加载完成,则系统自动加载target,调用versionQuery.js模块中的loadModules方法,获知待加载私有模块的模块名sui,然后从模块定义集合中确定出sui对应的模块存储路径http://g.alicdn.com/sj/dpl/1.5.1/js/sui.min.js,并从该模块存储路径中加载该模块;然后根据loadModules方法获知待加载私有模块的模块名tools,再从模块定义集合中确定出tools对应的模块存储路径/js/common/tools.js,进而该模块存储路径中加载该模块。
图2示意性示出了根据本公开实施例的module.js模块的示意图。如图2所示,本公开的实施例可以分为4个要素,分别为:私有模块(又称为待加载私有模块)、模块加载私有方法、公共模块(又称为待加载公共模块)和模块加载公共方法,可以将这4个要素封装在module.js模块中。其中,模块加载私有方法为loadModules方法,模块加载公共方法为modulesLoad方法。在本公开的实施例中,可以通过loadModules方法初始化私有模块,通过modulesLoad方法初始化私有模块。
图3示意性示出了根据本公开实施例的页面加载过程的示意图。
如图3所示,在用户操作进入界面之后,该系统可以自动加载module.js模块,即初始化module.js模块中的4个要素,然后通过modulesLoad方法加载待加载公共模块。其中,加载待加载公共模块可以如图4所示,图4示意性示出了根据本公开实施例的加载待加载模块过程的示意图,在图4中,对于任一待加载公共模块而言,可以先获取模块定义集合,再从模块定义集合中找到与该待加载公共模块的模块名对应的模块存储路径,进一步从对应的模块存储路径中找到该待加载公共模块并加载,然后循环执行上述操作,直至所有的待加载公共模块均加载完成。随后,系统可以自动加载界面的入口标签对应的JS模块,并通过入口标签对应的JS模块中的loadModules方法加载待加载私有模块。其中,加载待加载公共模块也可以如图4所示,对于任一待加载私有模块而言,可以先获取模块定义集合,再从模块定义集合中找到与该待加载私有模块的模块名对应的模块存储路径,进一步从对应的模块存储路径中找到该待加载私有模块并加载,然后循环执行上述操作,直至所有的待加载私有模块均加载完成。通过上述一系列的操作,可以完成对界面的加载。
本公开提供的基于模块的界面加载方法,在界面加载信号被触发后,可以确定该界面将会由哪些待加载模块构成,并确定该待加载模块的模块名,然后获取预先定义好的模块定义集合,并从该模块定义集合中查找出与待加载模块的模块名对应的模块存储路径,然后从该对应的模块存储路径中加载这些待加载模块,以便可以实现对界面的加载。显然,本公开的实施例是将模块名写死在界面代码中,在对某一模块进行升级后,只需要修改模块定义集合中的该模块名对应的模块存储路径即可,而并不涉及到对引入该模块的界面进行修改。通过本公开的实施例,克服了现有技术中一旦对JS模块升级则需要将每个引入该JS模块的网页进行修改导致操作非常繁琐的缺陷,达到了极大的降低操作复杂度的技术效果。
图5示意性示出了根据本公开实施例的基于模块的界面加载系统的框图。
如图5所示,该基于模块的界面加载系统500可以包括第一确定模块510、获取模块520、第二确定模块530和加载模块540,其中:
第一确定模块510用于响应于界面加载信号,确定用于组成界面的待加载模块的模块名。
获取模块520用于获取模块定义集合,其中,模块定义集合中包含模块名与模块存储路径的对应关系。
第二确定模块530用于从模块定义集合中确定与待加载模块的模块名对应的模块存储路径。
加载模块540用于根据对应的模块存储路径加载待加载模块,以实现对界面的加载。
本公开提供的基于模块的界面加载系统,在界面加载信号被触发后,可以确定该界面将会由哪些待加载模块构成,并确定该待加载模块的模块名,然后获取预先定义好的模块定义集合,并从该模块定义集合中查找出与待加载模块的模块名对应的模块存储路径,然后从该对应的模块存储路径中加载这些待加载模块,以便可以实现对界面的加载。显然,本公开的实施例是将模块名写死在界面代码中,在对某一模块进行升级后,只需要修改模块定义集合中的该模块名对应的模块存储路径即可,而并不涉及到对引入该模块的界面进行修改。通过本公开的实施例,克服了现有技术中一旦对JS模块升级则需要将每个引入该JS模块的网页进行修改导致操作非常繁琐的缺陷,达到了极大的降低操作复杂度的技术效果。
作为一种可选的实施例,第一确定模块包括:第一确定单元,用于确定用于组成界面的待加载公共模块的模块名;以及第二确定单元,用于确定用于组成界面的待加载私有模块的模块名。
作为一种可选的实施例,第二确定单元还用于:确定界面对应的入口标签;确定与入口标签对应的模块名;以及将与入口标签对应的模块名确定为待加载私有模块的模块名。
作为一种可选的实施例,第二确定模块包括:第三确定单元,用于确定待加载模块的模块名的优先级;以及第四确定单元,用于根据优先级,从模块定义集合中确定与待加载模块的模块名对应的模块存储路径。
作为一种可选的实施例,加载模块还用于根据对应的模块存储路径及待加载模块的模块名的优先级加载待加载模块,以实现对界面的加载,其中,待加载公共模块的模块名的优先级高于待加载私有模块的模块名的优先级。
作为一种可选的实施例,待加载模块包括JS模块。
图6示意性示出了根据本公开实施例的适于实现基于模块的界面加载方法的计算机设备的硬件架构示意图。本实施例中,计算机设备600是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,计算机设备600至少包括但不限于:可通过系统总线相互通信连接存储器610、处理器620、网络接口630。其中:
存储器610至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器610可以是计算机设备600的内部存储模块,例如该计算机设备600的硬盘或内存。在另一些实施例中,存储器610也可以是计算机设备600的外部存储设备,例如该计算机设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器610还可以既包括计算机设备600的内部存储模块也包括其外部存储设备。本实施例中,存储器610通常用于存储安装于计算机设备600的操作系统和各类应用软件,例如基于模块的界面加载方法的程序代码等。此外,存储器610还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器620在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器620通常用于控制计算机设备600的总体操作,例如执行与计算机设备600进行数据交互或者通信相关的控制和处理等。本实施例中,处理器620用于运行存储器610中存储的程序代码或者处理数据。
网络接口630可包括无线网络接口或有线网络接口,该网络接口630通常用于在计算机设备600与其他计算机设备之间建立通信连接。例如,网络接口630用于通过网络将计算机设备600与外部终端相连,在计算机设备600与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件610-630的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器610中的基于模块的界面加载方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器620)所执行,以完成本发明。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的基于模块的界面加载方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的基于模块的界面加载方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于模块的界面加载方法,其特征在于,所述方法包括:
响应于界面加载信号,确定用于组成所述界面的待加载模块的模块名;
获取模块定义集合,其中,所述模块定义集合中包含模块名与模块存储路径的对应关系;
从所述模块定义集合中确定与所述待加载模块的模块名对应的模块存储路径;以及
根据所述对应的模块存储路径加载所述待加载模块,以实现对所述界面的加载。
2.根据权利要求1所述的方法,其特征在于,所述确定用于组成所述界面的待加载模块的模块名,包括:
确定用于组成所述界面的待加载公共模块的模块名;以及
确定用于组成所述界面的待加载私有模块的模块名。
3.根据权利要求2所述的方法,其特征在于,所述确定用于组成所述界面的待加载私有模块的模块名,包括:
确定所述界面对应的入口标签;
确定与所述入口标签对应的模块名;以及
将所述与所述入口标签对应的模块名确定为所述待加载私有模块的模块名。
4.根据权利要求2所述的方法,其特征在于,所述从所述模块定义集合中确定与所述待加载模块的模块名对应的模块存储路径,包括:
确定所述待加载模块的模块名的优先级;以及
根据所述优先级,从所述模块定义集合中确定与所述待加载模块的模块名对应的模块存储路径。
5.根据权利要求4所述的方法,其特征在于,所述根据所述对应的模块存储路径加载所述待加载模块,以实现对所述界面的加载,包括:
根据所述对应的模块存储路径及所述待加载模块的模块名的优先级加载所述待加载模块,以实现对所述界面的加载,
其中,所述待加载公共模块的模块名的优先级高于所述待加载私有模块的模块名的优先级。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述待加载模块包括JS模块。
7.一种基于模块的界面加载系统,其特征在于,所述系统包括:
第一确定模块,用于响应于界面加载信号,确定用于组成所述界面的待加载模块的模块名;
获取模块,用于获取模块定义集合,其中,所述模块定义集合中包含模块名与模块存储路径的对应关系;
第二确定模块,用于从所述模块定义集合中确定与所述待加载模块的模块名对应的模块存储路径;以及
加载模块,用于根据所述对应的模块存储路径加载所述待加载模块,以实现对所述界面的加载。
8.根据权利要求7所述的系统,其特征在于,所述第一确定模块包括:
第一确定单元,用于确定用于组成所述界面的待加载公共模块的模块名;以及
第二确定单元,用于确定用于组成所述界面的待加载私有模块的模块名。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910375801.9A CN110262846A (zh) | 2019-05-07 | 2019-05-07 | 基于模块的界面加载方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910375801.9A CN110262846A (zh) | 2019-05-07 | 2019-05-07 | 基于模块的界面加载方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262846A true CN110262846A (zh) | 2019-09-20 |
Family
ID=67914228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910375801.9A Pending CN110262846A (zh) | 2019-05-07 | 2019-05-07 | 基于模块的界面加载方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262846A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608742A (zh) * | 2021-07-08 | 2021-11-05 | 阿里巴巴新加坡控股有限公司 | 检测方法、代码包处理方法、运行控制方法及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641586A (zh) * | 2004-01-02 | 2005-07-20 | 华为技术有限公司 | 一种实现应用程序界面集成和业务集成的方法 |
US20090100356A1 (en) * | 2007-10-16 | 2009-04-16 | Yahoo! Inc. | Method for Presenting a Web Page |
CN108427731A (zh) * | 2018-02-26 | 2018-08-21 | 平安普惠企业管理有限公司 | 页面代码的处理方法、装置、终端设备及介质 |
CN108804159A (zh) * | 2018-06-14 | 2018-11-13 | 腾讯科技(深圳)有限公司 | javascript模块加载方法及其预处理方法、装置和计算机设备 |
CN109240756A (zh) * | 2018-07-06 | 2019-01-18 | 沈文策 | 一种动态加载JavaScript模块的方法及装置 |
-
2019
- 2019-05-07 CN CN201910375801.9A patent/CN110262846A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641586A (zh) * | 2004-01-02 | 2005-07-20 | 华为技术有限公司 | 一种实现应用程序界面集成和业务集成的方法 |
US20090100356A1 (en) * | 2007-10-16 | 2009-04-16 | Yahoo! Inc. | Method for Presenting a Web Page |
CN108427731A (zh) * | 2018-02-26 | 2018-08-21 | 平安普惠企业管理有限公司 | 页面代码的处理方法、装置、终端设备及介质 |
CN108804159A (zh) * | 2018-06-14 | 2018-11-13 | 腾讯科技(深圳)有限公司 | javascript模块加载方法及其预处理方法、装置和计算机设备 |
CN109240756A (zh) * | 2018-07-06 | 2019-01-18 | 沈文策 | 一种动态加载JavaScript模块的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608742A (zh) * | 2021-07-08 | 2021-11-05 | 阿里巴巴新加坡控股有限公司 | 检测方法、代码包处理方法、运行控制方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445835A (zh) | 构建项目框架的方法、终端设备及计算机可读存储介质 | |
CN110109659A (zh) | 一种实现前端应用脚手架的系统和服务器 | |
CN109656807A (zh) | 基于信息安全的接口mock测试方法、装置、设备及存储介质 | |
CN104881318B (zh) | 一种接口调用方法、装置及终端 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN110209569A (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN110059278A (zh) | Web页面配置方法、服务器及计算机可读存储介质 | |
CN112612982A (zh) | 网页预加载方法、装置及计算机设备 | |
CN108021621A (zh) | 数据库数据采集方法、应用服务器及计算机可读存储介质 | |
CN109800370A (zh) | 网页页面的显示方法、装置、计算机设备及存储介质 | |
CN105786476A (zh) | 移动客户端与服务器之间的数据处理方法及系统 | |
CN109669678A (zh) | 模板引擎整合方法、装置、电子设备及存储介质 | |
CN110262846A (zh) | 基于模块的界面加载方法、系统、计算机设备及存储介质 | |
CN107451270A (zh) | 页面展示方法、电子设备及计算机存储介质 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN111581578B (zh) | 接口请求处理方法和装置 | |
CN116302328A (zh) | 智能合约数据处理方法和系统 | |
CN109086304A (zh) | 一种电子书签的更新方法、装置及存储介质 | |
CN114741296A (zh) | 单元测试方法、装置、电子设备和存储介质 | |
CN114237407A (zh) | 一种字体图标处理方法、装置及计算机可读存储介质 | |
CN115022036B (zh) | 一种攻击流量生成方法、系统及网络安全测试系统 | |
CN117130946B (zh) | 一种测试场景生成方法、装置、电子设备和可读存储介质 | |
CN112559311B (zh) | 一种移动端自动化测试的界面适配方法和装置 | |
CN110750742B (zh) | 页面优化方法、系统、介质和电子设备 | |
WO2015078250A1 (en) | Method and device for introducing browser bookmarks |
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 |