本发明涉及计算机技术领域,尤其涉及一种生成组件模板的方法及装置。
背景技术:
随着技术的飞速发展,组件已经是网页中的不可或缺的应用元件,其通常由一段HTML(Hypertext Markup Language,文本标记语言)或者JS(JavaScript,直译式脚本语言)代码构成;目前通常通过组件模板生成组件。
其中,在网页领域中会用到各种各样的组件,由于组件中精确描述了元素类型,因此对于任一种组件,都需要由与该一种组件相对应的组件模板来生成。
但是,每一个组件模板都需要由人工编写,由于编写一个组件模板的代码量非常大,当需要编写的组件模板的个数非常多时,就需要占用非常大的人力资源,人工成本较高。
技术实现要素:
为克服相关技术中存在的问题,本发明提供一种生成组件模板的方法及装置。
根据本发明实施例的第一方面,提供一种生成组件模板的方法,所述方法包括:
检测是否接收到用于生成目标组件模板的描述文件;所述描述文件中包含有所述目标组件模板的模板标识以及至少一个属性信息;
当接收到所述描述文件时,查找本地是否存在与所述模板标识相对应的母版页;所述母版页中包含有至少一个属性信息位;
当本地存在与所述模板标识相对应的母版页时,根据所述母版页和所述属性信息生成目标组件模板。
进一步地,所述方法还包括:
获取所述模板标识对应的参考组件模板;
获取所述参考组件模板中的属性信息位;
删除所述属性信息位中的属性信息;
在所述属性信息位中填入占位信息,得到与所述模板标识相对应的母版页。
其中,所述查找本地是否存在与所述模板标识相对应的母版页,包括:
获取预设模板标识与母版页的标识之间的对应关系;
在所述对应关系中查找是否存在与所述模板标识相对应的母版页的标识;
当在所述对应关系中查找到与所述模板标识相对应的母版页的标识时,将查找到的所述母版页的标识对应的母版页确定为与所述模板标识相对应的母版页;
当在所述对应关系中未查找到与所述模板标识相对应的母版页的标识时,确定本地不存在与所述模板标识相对应的母版页。
其中,所述根据所述母版页和所述属性信息生成目标组件模板,包括:
对于所述描述文件中的每一个所述属性信息,获取所述属性信息在所述母版页中的属性信息位;
将所述获取的属性信息位中的占位信息删除;
将所述属性信息填入所述获取的属性信息位中,以实现生成所述目标组件模板。
其中,所述检测是否接收到用于生成目标组件模板的描述文件,包括:
检测是否接收到用户输入的、用于生成目标组件模板的描述文件;
或;
检测是否接收到其他设备发送的、用于生成目标组件模板的描述文件。
根据本发明实施例的第二方面,提供一种生成组件模板的装置,所述装置包括:
检测模块,用于检测是否接收到用于生成目标组件模板的描述文件;所述描述文件中包含有所述目标组件模板的模板标识以及至少一个属性信息;
查找模块,用于当接收到所述描述文件时,查找本地是否存在与所述模板标识相对应的母版页;所述母版页中包含有至少一个属性信息位;
生成模块,用于当本地存在与所述模板标识相对应的母版页时,根据所述母版页和所述属性信息生成目标组件模板。
进一步地,所述装置还包括:
第一获取模块,用于获取所述模板标识对应的参考组件模板;
第二获取模块,用于获取所述参考组件模板中的属性信息位;
删除模块,用于删除所述属性信息位中的属性信息;
填入模块,用于在所述属性信息位中填入占位信息,得到与所述模板标识相对应的母版页。
其中,所述查找模块包括:
第一获取单元,用于获取预设模板标识与母版页的标识之间的对应关系;
查找单元,用于在所述对应关系中查找是否存在与所述模板标识相对应的母版页的标识;
第一确定单元,用于当在所述对应关系中查找到与所述模板标识相对应的母版页的标识时,将查找到的所述母版页的标识对应的母版页确定为与所述模板标识相对应的母版页;
第二确定单元,用于当在所述对应关系中未查找到与所述模板标识相对应的母版页的标识时,确定本地不存在与所述模板标识相对应的母版页。
其中,所述生成模块包括:
第二获取单元,用于对于所述描述文件中的每一个所述属性信息,获取所述属性信息在所述母版页中的属性信息位;
删除单元,用于将所述获取的属性信息位中的占位信息删除;
填入单元,用于将所述属性信息填入所述获取的属性信息位中,以实现生成所述目标组件模板。
其中,所述检测模块包括:
第一检测单元,用于检测是否接收到用户输入的、用于生成目标组件模板的描述文件;
第二检测单元,用于检测是否接收到其他设备发送的、用于生成目标组件模板的描述文件。
本发明的实施例提供的技术方案可以包括以下有益效果:在本发明中,事先根据模板标识对应的一个组件模板生成与该模板标识相对应的母版页,当需要生成一个模板标识对应的目标组件模板时,只需获取目标组件模板的描述文件,然后根据该模板标识对应的母版页和该描述文件生成目标组件模板。
其中,事先只需生成一次与该模板标识相对应的母版页即可,之后每当需要生成与该模板标识对应的组件模板时都可以利用该母版页。因此只需用户编写出与该模板标识对应的组件模板的描述文件即可,其中,描述文件的代码量很低。即,每当需要生成一个组件模板时,用户只需编写代码量很低的、该组件模板的描述文件即可。相比于现有技术中的组件模板完全由用户人工编写得到,本发明实施例可以节省大量的人力资源,降低了人工成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种生成组件模板的方法的流程图。
图2是根据一示例性实施例示出的一种生成组件模板的方法的流程图。
图3是根据一示例性实施例示出的一种生成组件模板的方法的流程图。
图4是根据一示例性实施例示出的一种生成组件模板的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种生成组件模板的方法的流程图,如图1所示,该方法包括以下步骤。
在步骤S101中,检测是否接收到用于生成目标组件模板的描述文件;
该描述文件中包含有目标组件模板的模板标识以及至少一个属性信息;
组件模板用于生成组件,组件的类型有多种,例如button类型的组件和input类型的组件等,每一个类型的组件只能利用与其相对应的类型的组件模板来生成,例如只能利用button类型的组件模板生成button类型的组件,以及只能利用input类型的组件模板生成input类型的组件。
因此,模板标识可以为组件模板的类型,例如,button类型的组件模板的模板标识可以为button,input类型的组件模板的模板标识可以为input。
组件模板的属性信息包括:根据该组件模板能够生成的组件的类型、渲染方式和大小尺寸等。
其中,该描述文件可以是其他设备发送的描述文件,也可以是用户在本地输入的描述文件,因此,本步骤具体可以为:检测是否接收到用户输入的、用于生成目标组件模板的描述文件;或,检测是否接收到其他设备发送的、用于生成目标组件模板的描述文件。
当接收到该描述文件时,在步骤S102中,查找本地是否存在与该模板标识相对应的母版页;
母版页中包含有至少一个属性信息位;属性信息位上可以填写属性信息。当在母版页的和属性信息位中填入属性信息后就可以得到一个组件模板。
其中,在本发明实施例中,事先需要生成与该模板标识相对应的母版页并存储在本地的 预设母版页库中。
具体地,生成与该模板标识相对应的母版页的步骤具体可以通过如下流程实现,包括:
11)、获取与该模板标识相对应的参考组件模板;
具体地,从已经生成的与该模板标识对应的组件模板中选择一个组件模板,并对选择的组件模板进行复制,将复制得到的组件模板作为参考组件模板。
例如,假设参考组件模板可以为:
<button type=“button”class=“btn btn-success btn-sm”>{{button.text}}</button>。
12)、获取参考组件模板中的属性信息位;
其中,在获取到模板标识对应的参考组件模板后,可以将参考组件模板显示在显示屏中,用户可以在参考组件模板中选择出属性信息位;因此,在本步骤中,可以接收用户在参考组件模板中的选择的属性信息位。
例如,用户可以从上述参考组件模板中选择type=“button”中的button所在的位置作为属性信息位,以及选择class=“btn btn-success btn-sm”中的btn btn-success btn-sm所在的位置作为属性信息位;因此,在本步骤中,可以接收用户选择的属性信息位。
13)、删除属性信息位中的属性信息;
例如,删除type=“button”中的属性信息button,以及删除属class=“btn btn-success btn-sm”中的属性信息btn btn-success btn-sm,得到删除后的组件模板:<button type=“”class=“”>{{button.text}}</button>。
14)、在获取的属性信息位中填入占位信息,得到与该模板标识相对应的母版页。
占位信息可以为占位符等。
例如,在删除后的组件模板:<button type=“”class=“”>{{button.text}}</button>的type=“”中的属性信息位“”中填入占位信息[[type]],以及在class=“”中的属性信息位“”中填入占位信息[[classx]],得到母版页:<button type=“[[type]]”class=“[[classx]]”>{{button.text}}</button>。
其中,在得到与该模板标识相对应的母版页之后,当需要生成与该模板标识相对应的组件模板时,只需向该母版页中的属性信息位中填入与该模板标识相对应的组件模板的属性信息,就可以得到与该模板标识相对应的组件模板。
进一步地,将与该模板标识相对应的母版页存储在预设母版页库中,以及将与该模板标识相对应的母版页的标识和该模板标识作为一条记录存储在预设模板标识与母版页的标识之间的对应关系中。
当本地存在与该模板标识相对应的母版页时,在步骤S103中,根据该母版页和该描述 文件包含的属性信息生成目标组件模板。
当本地存在与模板标识相对应的母版页时,获取与该模板标识相对应的母版页,将该描述文件中的每个属性信息填入该母版页中的属性信息位中,得到目标组件模板。
其中,当本地不存在与该模板标识相对应的母版页时,说明事先还未生成与该模板标识相对应的母版页,因此,可以先根据上述11)~14)的流程生成与该模板标识对应的母版页,然后再根据生成的与该模板标识对应的母版页和该描述文件包含的属性信息生成目标组件模板。
在本发明图1所示的实施例中,事先根据模板标识对应的一个组件模板生成与该模板标识相对应的母版页,当需要生成一个模板标识对应的目标组件模板时,只需获取目标组件模板的描述文件,然后根据该模板标识对应的母版页和该描述文件生成目标组件模板。其中,事先只需生成一次与该模板标识相对应的母版页即可,之后每当需要生成与该模板标识对应的组件模板时都可以利用该母版页。因此只需用户编写出与该模板标识对应的组件模板的描述文件即可,其中,描述文件的代码量很低。即,每当需要生成一个组件模板时,用户只需编写代码量很低的、该组件模板的描述文件即可。相比于现有技术中的组件模板完全由用户人工编写得到,本发明实施例可以节省大量的人力资源,降低了人工成本。
在本发明另一实施例中,参见图2,步骤S102包括:
在步骤S201中,获取预设模板标识与母版页的标识之间的对应关系;
上述对应关系为用户事先在本地设置的对应关系。
在步骤S202中,在上述对应关系中查找是否存在与该描述文件中的模板标识相对应的母版页的标识;
具体地,获取上述对应关系中的一条包括模板标识和母版页的标识的记录,将该描述文件中的模板标识与该一条记录中的模板标识进行比较,如果该描述文件中的模板标识与该一条记录中的模板标识相同,则将该一条记录中的母版页的标识确定为与该描述文件中的模板标识相对应的母版页的标识;如果该描述文件中的模板标识与该一条记录中的模板标识不同,获取上述对应关系中的下一条记录;继续执行上述步骤,直至获取到最后一条记录为止,如果该描述文件中的模板标识与该最后一条记录中的模板标识相同,则将该最后一条记录中的母版页的标识确定为与该描述文件中的模板标识相对应的母版页的标识;如果该描述文件中的模板标识与该最后一条记录中的模板标识不同,则确定上述对应关系中不存在与该描述文件中的模板标识相对应的母版页的标识。
当在上述对应关系中查找到与该描述文件中的模板标识相对应的母版页的标识时,在步 骤S203中,将查找到的母版页的标识对应的母版页确定为与该描述文件中的模板标识相对应的母版页;
其中,由于上述对应关系与母版页库是同步的,即,当在母版页库中新增加一个模板标识对应的母版页时,就会将该新增加的母版页的标识与该新增加的母版页的模板标识作为一条记录并添加至上述对应关系中;当从母版页库中删除一个母版页时,就会从上述对应关系中删除包括该一个母版页的标识的记录。即,上述对应关系中的每一条记录中的母版页的标识对应的母版页都存储在预设母版页库中;预设母版页库中的每一个母版页的标识都存储在上述对应关系中的一条记录中。
因此,在本步骤中,当在上述对应关系中查找到与该描述文件中的模板标识相对应的母版页的标识时,则说明预设母版页库中存储了与该描述文件中的模板标识相对应的母版页,即确定本地存在与该描述文件中的模板标识相对应的母版页,并将查找到的母版页的标识对应的母版页确定为与该描述文件中的模板标识相对应的母版页。当在上述对应关系中未查找到与该描述文件中的模板标识相对应的母版页的标识时,则说明预设母版页库中未存储与该描述文件中的模板标识相对应的母版页,即确定本地不存在与该描述文件中的模板标识相对应的母版页,
当在上述对应关系中未查找到与该描述文件中的模板标识相对应的母版页的标识时,在步骤S204中,确定本地不存在与该描述文件中的模板标识相对应的母版页。
在本发明另一实施例中,参见图3,步骤S103包括:
在步骤S301中,对于描述文件中的每一个属性信息,获取该属性信息在母版页中的属性信息位;
对于描述文件中的每一个属性信息,获取该属性信息对应的属性标识,在母版页中查找与该属性标识相同的占位信息,将与该属性标识相同的占位信息所在位置作为用于填入该属性信息的属性信息位;
例如,假设描述文件为:
在上述描述文件中,属性信息分别为type:“button”中的botton和classx:“btn btn-success”中的btn btn-success,属性信息button对应的属性标识为type,属性信息btn btn-success对应的属性标识为classx;
假设获取的母版页为:
<button type=“[[type]]”class=“[[classx]]”>{{button.text}}</button>;
在母版页中查找与属性标识type相同的占位信息,且查找到与属性标识type相同的占位信息[[type]],将与该属性标识type相同的占位信息[[type]]所在位置作为用于填入属性信息botton的属性信息位。
以及在母版页中查找与属性标识classx相同的占位信息,且查找到与属性标识classx相同的占位信息[[classx]],将与该属性标识classx相同的占位信息[[classx]]所在位置作为用于填入属性信息btn btn-success的属性信息位。
在步骤S302中,将该属性信息位中的占位信息删除;
例如,对于母版页:
<button type=“[[type]]”class=“[[classx]]”>{{button.text}}</button>;
将该母版页中的占位信息“[[type]]”删除,以及将该母版页中的占位信息“[[classx]]”删除。
得到删除了占位信息的母版页:<button type=“”class=“”>{{button.text}}</button>;
在步骤S303中,将该属性信息填入该属性信息位中。
以实现生成目标组件模板。
例如,将属性信息button和btn btn-success分别填入删除了占位信息的母版页<button type=“”class=“”>{{button.text}}</button>中;得到目标组件模板<button type=“button”class=“btn btn-success”>{{button.text}}</button>。
图4是根据一示例性实施例示出的一种生成组件模板的装置的框图。参照图4,该装置包括:
检测模块11,用于检测是否接收到用于生成目标组件模板的描述文件;所述描述文件中包含有所述目标组件模板的模板标识以及至少一个属性信息;
查找模块12,用于当接收到所述描述文件时,查找本地是否存在与所述模板标识相对应的母版页;所述母版页中包含有至少一个属性信息位;
生成模块13,用于当本地存在与所述模板标识相对应的母版页时,根据所述母版页和所述属性信息生成目标组件模板。
在本发明图4所示的实施例中,事先根据模板标识对应的一个组件模板生成与该模板标识相对应的母版页,当需要生成一个模板标识对应的目标组件模板时,只需获取目标组件模板的描述文件,然后根据该模板标识对应的母版页和该描述文件生成目标组件模板。其中,事先只需生成一次与该模板标识相对应的母版页即可,之后每当需要生成与该模板标识对应的组件模板时都可以利用该母版页。因此只需用户编写出与该模板标识对应的组件模板的描述文件即可,其中,描述文件的代码量很低。即,每当需要生成一个组件模板时,用户只需编写代码量很低的、该组件模板的描述文件即可。相比于现有技术中的组件模板完全由用户人工编写得到,本发明实施例可以节省大量的人力资源,降低了人工成本。
进一步地,所述装置还包括:
第一获取模块,用于获取所述模板标识对应的参考组件模板;
第二获取模块,用于获取所述参考组件模板中的属性信息位;
删除模块,用于删除所述属性信息位中的属性信息;
填入模块,用于在所述属性信息位中填入占位信息,得到与所述模板标识相对应的母版页。
其中,所述查找模块12包括:
第一获取单元,用于获取预设模板标识与母版页的标识之间的对应关系;
查找单元,用于在所述对应关系中查找是否存在与所述模板标识相对应的母版页的标识;
第一确定单元,用于当在所述对应关系中查找到与所述模板标识相对应的母版页的标识时,将查找到的所述母版页的标识对应的母版页确定为与所述模板标识相对应的母版页;
第二确定单元,用于当在所述对应关系中未查找到与所述模板标识相对应的母版页的标识时,确定本地不存在与所述模板标识相对应的母版页。
其中,所述生成模块13包括:
第二获取单元,用于对于所述描述文件中的每一个所述属性信息,获取所述属性信息在所述母版页中的属性信息位;
删除单元,用于将所述获取的属性信息位中的占位信息删除;
填入单元,用于将所述属性信息填入所述获取的属性信息位中,以实现生成所述目标组件模板。
其中,所述检测模块11包括:
第一检测单元,用于检测是否接收到用户输入的、用于生成目标组件模板的描述文 件;
第二检测单元,用于检测是否接收到其他设备发送的、用于生成目标组件模板的描述文件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。