CN109062572A - 一种组件调用方法、装置、设备及存储介质 - Google Patents
一种组件调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109062572A CN109062572A CN201810871315.1A CN201810871315A CN109062572A CN 109062572 A CN109062572 A CN 109062572A CN 201810871315 A CN201810871315 A CN 201810871315A CN 109062572 A CN109062572 A CN 109062572A
- Authority
- CN
- China
- Prior art keywords
- component
- sub
- weex
- component library
- library
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 24
- 239000000306 component Substances 0.000 description 291
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种组件调用方法、装置、设备及存储介质,所述方法包括:安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;通过设定格式的代码语句调用所述Weex公用组件库中的子组件。本发明实施例的技术方案能够满足开发者的业务开发需求,并提高开发效率。
Description
技术领域
本发明实施例涉及计算机软件应用技术领域,尤其涉及一种组件调用方法、装置、设备及存储介质。
背景技术
Weex是一个开源的跨平台页面渲染解决方案,其原理是通过模板化JavaScript编写由Weex定义的平台独立的页面渲染规则,通过webpack编译为标准的JavaScript脚本文件并嵌入到集成了Weex SDK(Software Development Kit,软件开发工具包)的移动应用中。在移动应用中通过JavaScript运行时执行JavaScript脚本动态生成对应移动平台的原生控件从而实现和原生应用相同用户体验。Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web(WorldWide Web,万维网)等多端部署。
虽然Weex自身包含一些自带的组件和API(Application ProgrammingInterface,应用程序编程接口),但是对于日常的业务开发来说,Weex自带的组件和API远远不能满足开发者的需求。开发者在使用Weex进行开发时,往往会出现“重复造轮子”现象,以致降低了开发效率。同时,现有的Weex更新组件库时需要对整个组件库进行更新,更新后用户无法使用旧版本的子组件。
发明内容
本发明实施例提供一种组件调用方法、装置、设备及存储介质,实现满足开发者的业务开发需求,并提高开发效率。
第一方面,本发明实施例提供了一种组件调用方法,包括:
安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;
通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
第二方面,本发明实施例还提供了一种组件调用装置,包括:
组件库安装模块,用于安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;
子组件调用模块,用于通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的组件调用方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的组件调用方法。
本发明实施例通过安装并配置预先构建的Weex公用组件库,通过设定格式的代码语句调用所述Weex公用组件库中的子组件,其中,Weex公用组件库包括至少两种类型的子组件,且Weex公用组件库与子组件之间的更新操作,以及子组件之间的更新操作相互独立;解决现有Weex自带组件难以满足开发者开发需求的问题,实现满足开发者的业务开发需求,并提高开发效率。
附图说明
图1a是本发明实施例一提供的一种组件调用方法的流程图;
图1b是本发明实施例一提供的一种Weex公用组件库架构示意图;
图2a是本发明实施例二提供的一种组件调用方法的流程图;
图2b是本发明实施例二提供的一种待执行代码语句的结构示意图;
图2c是本发明实施例二提供的一种设定转换插件转换引用语句的流程图;
图3是本发明实施例三提供的一种组件调用装置的示意图;
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1a是本发明实施例一提供的一种组件调用方法的流程图,本实施例可适用于调用预先构建Weex公用组件库中子组件的情况,该方法可以由组件调用装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中。相应的,如图1a所示,该方法包括如下操作:
S110、安装并配置预先构建的Weex公用组件库。
其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立。
在本发明实施例中,Weex公用组件库是预先构建的一个组件库,整个Weex公用组件库都可以采用JS编码。Weex公用组件库中可以包括至少两种类型的子组件,即UI类和工具类的子组件。其中,UI类子组件属于展示类组件,工具类子组件属于功能类组件。Weex公用组件库中的各个子组件可以拥有一个或多个独立的版本,因此能够保证用于可以使用各个子组件中的各个版本,且各子组件之间的根性操作互相独立,以避免子组件更新后旧版本的子组件无法使用。由于Weex公用组件库集成了多种类型的工具类子组件,能够满足业务开发的基础需求,减少weex相关开发者重复造轮子的开发成本。同时,Weex公用组件库兼容性逻辑收拢多种类型的子组件,因此,上层业务在使用Weex公用组件库中的子组件时不需要关心子组件的兼容性问题。
在利用Weex技术开发业务之前,首先需要在设备中安装Weex公用组件库。举例而言,用户可以将Weex公用组件库安装到项目的node_module目录下,并对其进行配置。其中,node_module是NPM(Node Package Manager,node版本管理器)标准下的一个目录。
在本发明的一个可选实施例中,所述Weex公用组件库包括组件库根目录、组件库二级目录、子组件目录、子组件版本目录以及子组件源码;其中,所述组件库根目录至少包括一个组件源码文件夹,用于存放所述Weex公用组件库中所有子组件的信息;所述组件库二级目录至少包括四个组件文件夹,用于对所述Weex公用组件库中的不同组件进行归类存放;所述子组件目录用于保存各所述组件文件夹对应的子组件信息;所述子组件版本目录用于保存所述子组件对应的版本信息;所述子组件源码用于保存每个版本下的子组件对应的源码。
图1b是本发明实施例一提供的一种Weex公用组件库架构示意图,在一个具体的例子中,如图1b所示,Weex公用组件库中的根目录:bin、build、build_script、config、lib、package.json及babelrc定义了组件库的基本架构。其中,bin文件夹可以存放自定义命令,用于构建Weex公用组件库中的代码;build文件夹可以存放Weex公用组件库构建的es5版本,由于子组件部分语法采用的是es6语法,因此为了满足某些不支持es6语法的业务开发,会提供es5版本的子组件。所以,build目录结构与lib目录一致;build_script文件夹可以存放构建的语法和命令;config文件夹可以存放相关的配置文件,lib文件夹可以存放所有子组件的源码;package.json文件可以定义组件库的基础信息;babelrc文件可以定义babel(一种编译器)转换逻辑。需要说明的是,Weex公用组件库可以包括但不限于组件库根目录、组件库二级目录、子组件目录、子组件版本目录以及子组件源码五级目录,图1b中的五级目录只是示例性说明子组件关联的级联目录,其他根目录如bin、build、build_script及config等也可以对应存在相应的级联目录。
具体的,在Weex公用组件库中,lib文件夹是核心组成部分,所有组件的源码都将会保存在此组件库。lib文件夹可以设置四个子文件夹:base、upper、render和ec_logic,用于定义四类组件分类,并区分和归类存放不同组件的用法。其中,base文件夹可以定义存放基础子组件,upper文件夹可以定义存放上层子组件,render文件夹可以定义存放UI子组件,ec_logic文件夹可以定义存放业务子组件。lib文件夹中的四个子文件夹中都有各自子组件文件夹,子组件文件夹中,会存放各自各版本号的不同子组件。以子组件env举例说明,env子组件有三个子版本:1.0、2.0以及2.1,因此对应存在三个版本分类的文件夹。每个版本分类的文件夹中存放的就是env子组件此版本号下的源码。
S120、通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
其中,设定格式的代码语句可以是用于调用Weex公用组件库中的子组件的固定格式的语句。
在本发明实施例中,当设备中安装并配置Weex公用组件库后,在开发人员的业务代码中加入设定格式的代码语句即可调用Weex公用组件库中的子组件。
本发明实施例通过安装并配置预先构建的Weex公用组件库,通过设定格式的代码语句调用所述Weex公用组件库中的子组件,其中,Weex公用组件库包括至少两种类型的子组件,且Weex公用组件库与子组件之间的更新操作,以及子组件之间的更新操作相互独立;解决现有Weex自带组件难以满足开发者开发需求的问题,实现满足开发者的业务开发需求,并提高开发效率。
实施例二
图2a是本发明实施例二提供的一种组件调用方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了通过设定格式的代码语句调用所述Weex公用组件库中的子组件的具体实现方式。相应的,如图2a所示,本实施例的方法可以包括:
S210、安装并配置预先构建的Weex公用组件库。
S220、在所述设定格式的代码语句中的设定位置处填充所述子组件对应的组件对象、名称、版本号以及设定符号,形成待执行代码语句。
其中,设定位置可以是用于调用不同子组件时需要对应修改代码内容的位置,设定符号可以是自定义的符号,如“~、@或&”等。
在本发明实施例中,可以在设定格式的代码语句中的一个或多个设定位置处填充需要调用的子组件对应的组件对象、名称、版本号以及设定符号等代码内容,从而形成待执行代码语句。
图2b是本发明实施例二提供的一种待执行代码语句的结构示意图,在一个具体的例子中,如图2b所示,在待执行的代码语句“import G_MOD_URL from“~url@1.0””中,G_MOD_URL为导出的组件对象,“~url@1.0”中url代表Weex公用组件库中的url子组件,1.0表示子组件的版本号。设定符号“~”用于表示待执行代码语句为子组件调用语句,设定符号“@”用于隔离子组件和版本号信息。
S230、执行所述待执行代码语句,以调用所述Weex公用组件库中的子组件。
相应的,待执行代码语句形成后,即可执行以调用Weex公用组件库中的子组件。
在本发明的一个可选实施例中,所述Weex公用组件库包括设定转换插件,用于将所述设定格式的代码语句转换为系统能够识别的代码语句。
需要说明的是,如果按照正常的es6语法,上述形成的待执行代码语句不可以成功调用Weex公用组件库中的子组件。因此,本发明实施例中的Weex公用组件库还可以配套开源一个设定转换插件,如babel插件,用于将设定格式的代码语句形成的待执行代码语句转换为系统能够识别的代码语句。
相应的,S230具体可以包括以下操作:
S231、通过所述设定转换插件如果确定所述待执行代码语句需要转换,则获取所述待执行代码语句中所述子组件的名称和版本号。
在本发明实施例中,在利用设定转换插件对待执行代码语句进行转换之前,可以首先判断待执行代码语句是否需要转换。示例性的,可以通过校验语句“/^\~[a-zA-Z1-9\_\-\+\*]*\@[\d]+[.][\d]+/”对待执行代码语句进行校验。如果待执行代码语句通过正则,则需要对待执行代码语句进行进一步处理。具体的,可以获取待执行代码语句中子组件的名称和版本号等信息;否则,表明待执行代码语句不需要转换,则正常引用待执行代码语句即可。
在本发明的一个可选实施例中,所述设定符号包括第一设定符号和第二设定符号,其中,所述第一设定符号用于标识所述待执行语句属于所述Weex公用组件库的组件调用语句,所述第二设定符号用于区分所述子组件的名称和版本号;获取所述待执行代码语句中所述子组件的名称和版本号,可以包括:删除所述待执行代码语句中的第一设定符号;将所述第二设定符号分割得到的两部分字符串分别作为所述子组件的名称和版本号。
示例性的,可以将“~”作为第一设定符号,将“@”作为第二设定符号。相应的,在利用设定转换插件对待执行语句进行处理时,可以删除待执行代码语句中的第一设定符号,同时查找第二设定符号,以第二设定符号为界得到两部分字符串分别作为子组件的名称和版本号。
S232、根据所述子组件的名称和版本号在所述Weex公用组件库的配置文件中查找所述子组件的组件配置,并获取所述子组件的配置路径。
相应的,获取到子组件的名称和版本号以后,可以依据名称和版本号在Weex公用组件库的配置文件中查找子组件的组件配置。例如,读取Weex公用组件库的config根目录,查找配置文件中是否存在url子组件的组件配置。如果查找到组件配置,则继续根据组件配置进行后续的转换操作;否则,可以正常引用待执行代码语句。
S233、如果确定所述配置文件中存在所述子组件的组件配置,则获取所述子组件的相对路径。
相应的,如果在Weex公用组件库的配置文件中查找到子组件的组件配置,可以继续读取Weex公用组件库的配置文件,以获取子组件的相对路径。
S234、将所述子组件的相对路径、所述子组件的配置路径以及所述子组件的版本号进行拼接,得到系统能够识别的代码语句。
最后,将获取的子组件的相对路径、配置路径以及版本号等信息按照设定的格式进行拼接,得到设定转换插件转换的代码语句。该代码语句能够被系统所识别并完成引用。
S235、执行所述系统能够识别的代码语句,以调用所述Weex公用组件库中的所述子组件。
相应的,执行通过设定转换插件转换后的代码语句,即可调用Weex公用组件库中的子组件。设定转换插件的应用,不仅能够方便Weex公用组件库的使用效果,同时还能减少业务代码的体积。且开发人员在使用Weex公用组件库时,只会引入Weex公用组件库中子组件的代码,而不需要引用整个组件库的代码,从而能够大大缩小业务代码量。
图2c是本发明实施例二提供的一种设定转换插件转换引用语句的流程图,在一个具体的例子中,如图2c所示,假设设定转换插件为babel插件,Weex公用组件库的名称为weex-cube。在待执行语句“import G_MOD_URL from“~url@1.0””中,babel插件根据两个设定符号可以得到子组件的名称“url”和对应的版本号“1.0”。然后读取weex-cube中的配置文件即config目录,针对url子组件查找到url子组件的配置路径:upper/url。继续读取weex-cube中config目录中的component_route.json文件,进而获取到url子组件的相对路径:@fgl/weex-cube/lib,其中,@fgl可以代表某一专用的NPM服务器,当具体的服务器名称不同时,@fgl也可以对应变换其他的表达方式。最后,可以根据获取到的url子组件的相对路径、配置路径以及版本信息进行拼接,可以得到转换结果:@fgl/weex-cube/lib/upper/url/1.0/index.vue,即得到系统能够识别的代码语句。当待执行代码语句判断不需要转换或没有在weex-cube的配置文件中找到子组件的组件配置时,可以正常引用待执行代码语句。
采用上述技术方案,安装并配置预先构建的Weex公用组件库,在设定格式的代码语句中的设定位置处填充子组件对应的组件对象、名称、版本号以及设定符号,形成待执行代码语句,并使用设定转换插件将待执行代码语句转换为系统能够识别的代码语句,从而完成Weex公用组件库中的子组件的调用,解决现有Weex自带组件难以满足开发者开发需求的问题,实现满足开发者的业务开发需求,方便使用效果,减少业务代码量,并提高开发效率。
实施例三
图3是本发明实施例三提供的一种组件调用装置的示意图,如图3所示,所述装置包括:组件库安装模块310以及子组件调用模块320,其中:
组件库安装模块310,用于安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;
子组件调用模块320,用于通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
本发明实施例通过安装并配置预先构建的Weex公用组件库,通过设定格式的代码语句调用所述Weex公用组件库中的子组件,其中,Weex公用组件库包括至少两种类型的子组件,且Weex公用组件库与子组件之间的更新操作,以及子组件之间的更新操作相互独立;解决现有Weex自带组件难以满足开发者开发需求的问题,实现满足开发者的业务开发需求,并提高开发效率。
可选的,子组件调用模块320包括:代码语句形成单元,用于在所述设定格式的代码语句中的设定位置处填充所述子组件对应的组件对象、名称、版本号以及设定符号,形成待执行代码语句;子组件调用单元,用于执行所述待执行代码语句,以调用所述Weex公用组件库中的子组件。
可选的,所述Weex公用组件库包括设定转换插件,用于将所述设定格式的代码语句转换为系统能够识别的代码语句;子组件调用单元具体用于:通过所述设定转换插件如果确定所述待执行代码语句需要转换,则获取所述待执行代码语句中所述子组件的名称和版本号;根据所述子组件的名称和版本号在所述Weex公用组件库的配置文件中查找所述子组件的组件配置,并获取所述子组件的配置路径;如果确定所述配置文件中存在所述子组件的组件配置,则获取所述子组件的相对路径;将所述子组件的相对路径、所述子组件的配置路径以及所述子组件的版本号进行拼接,得到系统能够识别的代码语句;执行所述系统能够识别的代码语句,以调用所述Weex公用组件库中的所述子组件。
可选的,所述设定符号包括第一设定符号和第二设定符号,其中,所述第一设定符号用于标识所述待执行语句属于所述Weex公用组件库的组件调用语句,所述第二设定符号用于区分所述子组件的名称和版本号;子组件调用单元具体用于:删除所述待执行代码语句中的第一设定符号;将所述第二设定符号分割得到的两部分字符串分别作为所述子组件的名称和版本号。
可选的,所述Weex公用组件库包括组件库根目录、组件库二级目录、子组件目录、子组件版本目录以及子组件源码;其中,所述组件库根目录至少包括一个组件源码文件夹,用于存放所述Weex公用组件库中所有子组件的信息;所述组件库二级目录至少包括四个组件文件夹,用于对所述Weex公用组件库中的不同组件进行归类存放;所述子组件目录用于保存各所述组件文件夹对应的子组件信息;所述子组件版本目录用于保存所述子组件对应的版本信息;所述子组件源码用于保存每个版本下的子组件对应的源码。
上述组件调用装置可执行本发明任意实施例所提供的组件调用方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的组件调用方法。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块426的程序436,可以存储在例如存储装置428中,这样的程序模块426包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块426通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、摄像头、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDisks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的组件调用方法。
也即,所述处理单元执行所述程序时实现:安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
通过所述计算机设备安装并配置预先构建的Weex公用组件库,通过设定格式的代码语句调用所述Weex公用组件库中的子组件,其中,Weex公用组件库包括至少两种类型的子组件,且Weex公用组件库与子组件之间的更新操作,以及子组件之间的更新操作相互独立;解决现有Weex自带组件难以满足开发者开发需求的问题,实现满足开发者的业务开发需求,并提高开发效率。
实施例五
本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的组件调用方法:安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种组件调用方法,其特征在于,包括:
安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;
通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
2.根据权利要求1所述的方法,其特征在于,所述通过设定格式的代码语句调用所述Weex公用组件库中的子组件,包括:
在所述设定格式的代码语句中的设定位置处填充所述子组件对应的组件对象、名称、版本号以及设定符号,形成待执行代码语句;
执行所述待执行代码语句,以调用所述Weex公用组件库中的子组件。
3.根据权利要求2所述的方法,其特征在于,所述Weex公用组件库包括设定转换插件,用于将所述设定格式的代码语句转换为系统能够识别的代码语句;
所述执行所述待执行代码语句,以调用所述Weex公用组件库中的子组件,包括:
通过所述设定转换插件如果确定所述待执行代码语句需要转换,则获取所述待执行代码语句中所述子组件的名称和版本号;
根据所述子组件的名称和版本号在所述Weex公用组件库的配置文件中查找所述子组件的组件配置,并获取所述子组件的配置路径;
如果确定所述配置文件中存在所述子组件的组件配置,则获取所述子组件的相对路径;
将所述子组件的相对路径、所述子组件的配置路径以及所述子组件的版本号进行拼接,得到系统能够识别的代码语句;
执行所述系统能够识别的代码语句,以调用所述Weex公用组件库中的所述子组件。
4.根据权利要求3所述的方法,其特征在于,所述设定符号包括第一设定符号和第二设定符号,其中,所述第一设定符号用于标识所述待执行语句属于所述Weex公用组件库的组件调用语句,所述第二设定符号用于区分所述子组件的名称和版本号;
获取所述待执行代码语句中所述子组件的名称和版本号,包括:
删除所述待执行代码语句中的第一设定符号;
将所述第二设定符号分割得到的两部分字符串分别作为所述子组件的名称和版本号。
5.根据权利要求1-4任一所述的方法,其特征在于,
所述Weex公用组件库包括组件库根目录、组件库二级目录、子组件目录、子组件版本目录以及子组件源码;其中,
所述组件库根目录至少包括一个组件源码文件夹,用于存放所述Weex公用组件库中所有子组件的信息;
所述组件库二级目录至少包括四个组件文件夹,用于对所述Weex公用组件库中的不同组件进行归类存放;
所述子组件目录用于保存各所述组件文件夹对应的子组件信息;
所述子组件版本目录用于保存所述子组件对应的版本信息;
所述子组件源码用于保存每个版本下的子组件对应的源码。
6.一种组件调用装置,其特征在于,包括:
组件库安装模块,用于安装并配置预先构建的Weex公用组件库,其中,所述Weex公用组件库包括至少两种类型的子组件;所述Weex公用组件库与所述子组件之间的更新操作,以及所述子组件之间的更新操作相互独立;
子组件调用模块,用于通过设定格式的代码语句调用所述Weex公用组件库中的子组件。
7.根据权利要求6所述的装置,其特征在于,所述子组件调用模块包括:
代码语句形成单元,用于在所述设定格式的代码语句中的设定位置处填充所述子组件对应的组件对象、名称、版本号以及设定符号,形成待执行代码语句;
子组件调用单元,用于执行所述待执行代码语句,以调用所述Weex公用组件库中的子组件。
8.根据权利要求7所述的装置,其特征在于,所述Weex公用组件库包括设定转换插件,用于将所述设定格式的代码语句转换为系统能够识别的代码语句;
子组件调用单元具体用于:
通过所述设定转换插件如果确定所述待执行代码语句需要转换,则获取所述待执行代码语句中所述子组件的名称和版本号;
根据所述子组件的名称和版本号在所述Weex公用组件库的配置文件中查找所述子组件的组件配置,并获取所述子组件的配置路径;
如果确定所述配置文件中存在所述子组件的组件配置,则获取所述子组件的相对路径;
将所述子组件的相对路径、所述子组件的配置路径以及所述子组件的版本号进行拼接,得到系统能够识别的代码语句;
执行所述系统能够识别的代码语句,以调用所述Weex公用组件库中的所述子组件。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的组件调用方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的组件调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810871315.1A CN109062572B (zh) | 2018-08-02 | 2018-08-02 | 一种组件调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810871315.1A CN109062572B (zh) | 2018-08-02 | 2018-08-02 | 一种组件调用方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062572A true CN109062572A (zh) | 2018-12-21 |
CN109062572B CN109062572B (zh) | 2022-04-22 |
Family
ID=64832587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810871315.1A Active CN109062572B (zh) | 2018-08-02 | 2018-08-02 | 一种组件调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062572B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710152A (zh) * | 2018-12-28 | 2019-05-03 | 北京小米移动软件有限公司 | 一种事件处理方法、装置及存储介质 |
CN110597724A (zh) * | 2019-09-18 | 2019-12-20 | 彩讯科技股份有限公司 | 应用安全测试组件的调用方法、装置、服务器及存储介质 |
CN110968339A (zh) * | 2019-12-03 | 2020-04-07 | 望海康信(北京)科技股份公司 | 前端构建工具的方法、装置以及电子设备 |
CN113268234A (zh) * | 2021-05-17 | 2021-08-17 | 北京三快在线科技有限公司 | 页面生成方法、装置、终端和存储介质 |
CN114579129A (zh) * | 2022-05-09 | 2022-06-03 | 国家超级计算天津中心 | 云原生求解器参数界面的自动构建方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174135A1 (en) * | 2001-03-14 | 2002-11-21 | Steve Pellegrin | Schema-based file conversion |
US20050119984A1 (en) * | 2003-12-01 | 2005-06-02 | Rouvellou Isabelle M. | Methods and apparatus for business rules authoring and operation employing a customizable vocabulary |
US20080244516A1 (en) * | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Variable capture in object oriented languages |
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN103593183A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种兼容主线版本与oem版本的系统构建方法 |
US9075536B1 (en) * | 2011-11-14 | 2015-07-07 | Ca, Inc. | Enhanced software application platform |
CN105022635A (zh) * | 2015-07-23 | 2015-11-04 | 北京中油瑞飞信息技术有限责任公司 | 基于云平台的算法文件生成方法、装置及云平台 |
CN108197257A (zh) * | 2017-12-29 | 2018-06-22 | 深圳乐信软件技术有限公司 | Html页面生成方法、装置、设备及存储介质 |
CN108228188A (zh) * | 2018-01-08 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种视图组件处理方法、电子设备及可读存储介质 |
-
2018
- 2018-08-02 CN CN201810871315.1A patent/CN109062572B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174135A1 (en) * | 2001-03-14 | 2002-11-21 | Steve Pellegrin | Schema-based file conversion |
US20050119984A1 (en) * | 2003-12-01 | 2005-06-02 | Rouvellou Isabelle M. | Methods and apparatus for business rules authoring and operation employing a customizable vocabulary |
US20080244516A1 (en) * | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Variable capture in object oriented languages |
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
US9075536B1 (en) * | 2011-11-14 | 2015-07-07 | Ca, Inc. | Enhanced software application platform |
CN103593183A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种兼容主线版本与oem版本的系统构建方法 |
CN105022635A (zh) * | 2015-07-23 | 2015-11-04 | 北京中油瑞飞信息技术有限责任公司 | 基于云平台的算法文件生成方法、装置及云平台 |
CN108197257A (zh) * | 2017-12-29 | 2018-06-22 | 深圳乐信软件技术有限公司 | Html页面生成方法、装置、设备及存储介质 |
CN108228188A (zh) * | 2018-01-08 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 一种视图组件处理方法、电子设备及可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710152A (zh) * | 2018-12-28 | 2019-05-03 | 北京小米移动软件有限公司 | 一种事件处理方法、装置及存储介质 |
CN109710152B (zh) * | 2018-12-28 | 2021-03-16 | 北京小米移动软件有限公司 | 一种事件处理方法、装置及存储介质 |
CN110597724A (zh) * | 2019-09-18 | 2019-12-20 | 彩讯科技股份有限公司 | 应用安全测试组件的调用方法、装置、服务器及存储介质 |
CN110968339A (zh) * | 2019-12-03 | 2020-04-07 | 望海康信(北京)科技股份公司 | 前端构建工具的方法、装置以及电子设备 |
CN110968339B (zh) * | 2019-12-03 | 2023-08-15 | 望海康信(北京)科技股份公司 | 前端构建工具的方法、装置以及电子设备 |
CN113268234A (zh) * | 2021-05-17 | 2021-08-17 | 北京三快在线科技有限公司 | 页面生成方法、装置、终端和存储介质 |
CN114579129A (zh) * | 2022-05-09 | 2022-06-03 | 国家超级计算天津中心 | 云原生求解器参数界面的自动构建方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109062572B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN110580147B (zh) | 一种应用程序的开发方法和装置 | |
CN107615239B (zh) | 用于托管和发布软件包的基础架构 | |
CN109062563B (zh) | 用于生成页面的方法和装置 | |
CN113126990B (zh) | 一种页面开发方法、装置、设备及存储介质 | |
CN111736840A (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
CN114424257A (zh) | 使用机器学习对表格数据进行自动描绘和提取 | |
CN110688145B (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
CN110377289A (zh) | 一种数据解析方法、装置、介质和电子设备 | |
CN110780874B (zh) | 用于生成信息的方法和装置 | |
US20200326990A1 (en) | Dynamic Infrastructure Management and Processing | |
CN110489087A (zh) | 一种生成分形结构的方法、装置、介质和电子设备 | |
CN109657249B (zh) | 应用程序的文本自动替换方法、装置及电子设备 | |
CN111078228A (zh) | 网页到小程序的转换方法、装置、服务器及存储介质 | |
CN113377342B (zh) | 一种项目构建方法、装置、电子设备及存储介质 | |
CN115525282A (zh) | 跨平台桌面应用程序的实现方法及其相关设备 | |
CN115934093A (zh) | 小程序跨端应用方法、相关装置及计算机存储介质 | |
CN111258802A (zh) | 捕获应用程序崩溃信息的方法及相关设备 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN111324803B (zh) | 搜索引擎的查询请求处理方法、装置及客户端 | |
CN116227625A (zh) | 智能模型开发方法、介质及设备 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN112394920B (zh) | 一种应用软件开发方法、平台和电子设备 | |
CN115098530A (zh) | 数据获取方法和装置 | |
CN111539200B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |