前端组件共享方法、装置、电子设备及存储介质与流程

文档序号:31336583发布日期:2022-08-31 08:57阅读:100来源:国知局
前端组件共享方法、装置、电子设备及存储介质与流程

1.本发明涉及大数据技术领域,具体涉及一种前端组件共享方法、装置、电子设备及存储介质。


背景技术:

2.前端组件化开发,可以很大程度上降低系统各个功能的耦合性,现有技术通过在前端项目的代码库中创建一个配置文件,并在其目录下编写一些可以重复使用的前端组件,这些前端组件只能在对应的项目中使用,不同项目的代码库之间无法实现共享,导致组件的复用率低。


技术实现要素:

3.鉴于以上内容,有必要提出一种前端组件共享方法、装置、电子设备及存储介质,其可以将待共享组件封装为一个npm包,在验证合格后发布至组件信息共享平台,实现了跨项目共享,提高组件的复用率。
4.本发明的第一方面提供一种前端组件共享方法,所述方法包括:
5.响应于接收的组件共享请求,获取待共享组件的组件信息;
6.对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包;
7.基于所述npm包遍历预设的npm数据库,得到遍历结果;
8.当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,得到验证结果;
9.基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息。
10.可选地,所述基于所述npm包遍历预设的npm数据库,得到遍历结果包括:
11.计算所述npm包的哈希散列值;
12.基于所述哈希散列值遍历预设的npm数据库;
13.当在所述预设的npm数据库遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中存在所述npm包;
14.当在所述预设的npm数据库未遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中不存在所述npm包。
15.可选地,所述验证所述npm包中的待共享组件的组件信息包括:
16.从所述待共享组件的组件信息中获取第一功能信息;
17.加载所述npm包,得到所述待共享组件的第二功能信息;
18.验证所述第一功能信息与所述第二功能信息是否一致;
19.当所述第一功能信息与所述第二功能信息一致时,确定验证结果为验证合格;
20.当所述第一功能信息与所述第二功能信息不一致时,确定验证结果为不合格。
21.可选地,所述对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包包括:
22.采用预设的命令初始化所述待共享组件的组件信息,得到所述待共享组件的项目信息;
23.将所述待共享组件的项目信息以npm包的形式进行封装,得到所述待共享组件的npm包。
24.可选地,所述基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息包括:
25.当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台;
26.当所述验证结果为验证不合格时,将所述待共享组件的验证不合格的信息发送至客户端。
27.可选地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,所述方法还包括:
28.识别验证结果为验证合格的待共享组件的npm包的包名;
29.解析所述包名,获取所述待共享组件的npm包位于所述预设的npm数据库中的位置,并将所述待共享组件的npm包发布至所述预设的npm数据库对应位置。
30.可选地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,所述方法还包括:
31.响应于接收到的客户端的共享组件的下载请求,获取目标共享组件、目标共享组件的哈希散列值,以及所述目标共享组件的项目名称;
32.基于所述目标共享组件的哈希散列值从所述预设的npm数据库中获取所述目标共享组件的权限配置信息;
33.识别所述目标共享组件的权限配置信息,判断登录所述客户端的用户是否有权限下载所述目标共享组件;
34.当所述用户有权限下载所述目标共享组件时,识别所述目标共享组件位于所述组件信息共享平台的位置信息,基于所述位置信息在所述组件信息共享平台中进行下载,并通过npm安装模块将下载的所述目标共享组件的npm包安装到所述项目名称对应的项目中;
35.当所述用户无权限下载所述目标共享组件时,发送拒绝下载所述目标共享组件的消息至所述客户端。
36.本发明的第二方面提供一种前端组件共享装置,所述装置包括:
37.获取模块,用于响应于接收的组件共享请求,获取待共享组件的组件信息,其中,所述组件信息中包含权限配置信息;
38.封装模块,用于对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包;
39.遍历模块,用于基于所述npm包遍历预设的npm数据库,得到遍历结果;
40.验证模块,用于当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,得到验证结果;
41.发布模块,用于基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息。
42.本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述
处理器用于执行所述存储器中存储的计算机程序时实现所述的前端组件共享方法。
43.本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的前端组件共享方法。
44.综上所述,本发明所述的前端组件共享方法、装置、电子设备及存储介质,能够推动智慧城市的建设,应用于智慧安防、智慧社区、智慧生活、物联网等领域,通过对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包,基于所述npm包遍历预设的npm数据库,当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息,通过将所述待共享组件中的每个组件的组件信息封装为一个npm包,并将封装的npm包存储至npm数据库,并将验证合格的待共享组件发布至组件信息共享平台,实现了跨项目共享,解决了现有技术中不同项目的代码库之间无法互相访问,前端开发人员封装产生的组件无法在其他项目复用的问题,提高了组件的复用率。
附图说明
45.图1是本发明实施例一提供的前端组件共享方法的流程图。
46.图2是本发明实施例二提供的前端组件共享装置的结构图。
47.图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
48.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
50.实施例一
51.图1是本发明实施例一提供的前端组件共享方法的流程图。
52.在本实施例中,所述前端组件共享方法可以应用于电子设备中,对于需要进行前端组件共享的电子设备,可以直接在电子设备上集成本发明的方法所提供的前端组件共享的功能,或者以软件开发工具包(software development kit,sdk)的形式运行在电子设备中。
53.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
54.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习、深度学习等几大方向。
55.如图1所示,所述前端组件共享方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
56.s11,响应于接收的组件共享请求,获取待共享组件的组件信息。
57.本实施例中,待共享组件可以为一个页面、一个图表、一个按钮或者一个实现了某种特定功能的函数,本实施例在此不做限制。
58.本实施例中,用户在进行组件共享时,通过客户端发起组件共享请求至服务端,具体地,所述用户可以为前端开发人员,也可以为项目维护人员,所述客户端可以是智能手机、ipad或者其他现有的智能设备,所述服务端可以为组件共享子系统,在组件共享过程中,如所述客户端可以向组件共享子系统发送组件共享请求,所述组件共享子系统用于接收所述客户端发送的组件共享请求,并响应于所述组件共享请求,获取待共享组件的组件信息,所述待共享组件可以为一个或者多个。
59.在一个可选的实施例中,所述响应于接收的组件共享请求,获取待共享组件的组件信息包括:
60.解析所述组件共享请求的报文,得到所述报文携带的报文信息;
61.从所述报文信息中获取待共享组件的名称;
62.根据所述待共享组件的名称确定所述待共享组件的接口;
63.调用所述待共享组件的接口获取所述待共享组件的组件信息。
64.本实施例中,所述待共享组件的组件信息中包含有对组件的描述信息、组件的功能信息及组件的权限配置信息,其中,所述权限配置信息中包含有组件对应的权限项目信息、权限使用者信息,具体地,所述权限项目信息可以为一个项目或者多个项目,例如,多个项目可以共享一个组件。
65.s12,对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包。
66.本实施例中,npm是nodejs(运行环境)下的一个包托管平台,用于托管数据包。
67.在一个可选的实施例中,所述对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包包括:
68.采用预设的命令初始化所述待共享组件的组件信息,得到所述待共享组件的项目信息;
69.将所述待共享组件的项目信息以npm包的形式进行封装,得到所述待共享组件的npm包。
70.本实施例中,所述预设的命令可以为npminit命令,基于所述npminit命令初始化所述待共享组件的组件信息。
71.本实施例中,所述项目信息包含有项目名称、项目版本、项目描述信息、项目依赖的第三方模块信息等项目信息。
72.本实施例中,通过对所述待共享组件的组件信息进行封装,使得每个待共享组件可以单独使用。
73.s13,基于所述npm包遍历预设的npm数据库,得到遍历结果。
74.本实施例中,所述遍历结果中包含有预设的npm数据库中存在所述npm包或者预设的npm数据库中不存在所述npm包。
75.在一个可选的实施例中,所述基于所述npm包遍历预设的npm数据库,得到遍历结
果包括:
76.计算所述npm包的哈希散列值;
77.基于所述哈希散列值遍历预设的npm数据库;
78.当在所述预设的npm数据库遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中存在所述npm包;
79.当在所述预设的npm数据库未遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中不存在所述npm包。
80.本实施例中,可以采用md5算法计算所述npm包的哈希散列值,若哈希散列值相同时,确定所述预设的npm数据库中存在所述npm包;若哈希散列值不相同时,确定所述预设的npm数据库中不存在所述npm包。
81.本实施例中,通过判断预设的npm数据库中是否存在相同的npm包,根据判断结果确定是否对所述npm包进行审核。
82.本实施例中,当遍历结果为所述预设的npm数据库中存在所述npm包时,确定所述待共享组件的组件信息已发布到组件信息共享平台,无需再次发布,提高了待共享组件的发布准确率及效率。
83.s14,当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,得到验证结果。
84.本实施例中,所述验证结果中包含有验证合格和验证不合格,当遍历到所述预设的npm数据库中不存在所述npm包,需审核所述npm包中的待共享组件的功能是否与描述的功能一致。
85.在一个可选的实施例中,所述验证所述npm包中的待共享组件的组件信息包括:
86.从所述待共享组件的组件信息中获取第一功能信息;
87.加载所述npm包,得到所述待共享组件的第二功能信息;
88.验证所述第一功能信息与所述第二功能信息是否一致;
89.当所述第一功能信息与所述第二功能信息一致时,确定验证结果为验证合格;
90.当所述第一功能信息与所述第二功能信息不一致时,确定验证结果为不合格。
91.本实施例中,第一功能信息是指前端开发人员提交的待共享组件描述的功能信息,第二功能信息是指对npm包的待共享组件加载后实现的功能信息。
92.本实施例中,当所述第一功能信息与所述第二功能信息一致时,确定前端开发人员提交的待共享组件的功能信息与待共享组件的功能信息一致,可以对所述待共享组件进行发布,提高了后续发布的待共享组件的准确率。
93.s15,基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息。
94.本实施例中,组件信息共享平台用于展示发布的待共享组件及待共享组件的发布人和功能信息。
95.本实施例中,通过将所述待共享组件中的每个组件的组件信息封装为一个npm包,并将封装的npm包存储至npm数据库,并将验证合格的待共享组件发布至组件信息共享平台,实现了跨项目共享,解决了现有技术中不同项目的代码库之间无法互相访问,前端开发人员封装产生的组件无法在其他项目复用的问题,提高了组件的复用率。
96.在一个可选的实施例中,所述基于所述验证结果在组件信息共享平台中发布所述
待共享组件的组件信息包括:
97.当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台;
98.当所述验证结果为验证不合格时,将所述待共享组件的验证不合格的信息发送至客户端。
99.本实施例中,通过将验证合格的待共享组件的组件信息发布到组件信息共享平台,提高了发布的待共享组件的准确率。
100.进一步地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,所述方法还包括:
101.识别验证结果为验证合格的待共享组件的npm包的包名;
102.解析所述包名,获取所述待共享组件的npm包位于所述预设的npm数据库中的位置,并将所述待共享组件的npm包发布至所述预设的npm数据库对应位置。
103.本实施例中,每个npm包对应有一个包名,根据包名可以将对应的npm包发布到预设的npm数据库的对应的位置,便于预设的npm数据库的管理,当需要更新或者维护预设的npm数据库,只需要根据npm包快速的获取到对应的npm包,对npm包中的组件的组件信息进行更新及维护,提高了组件的维护效率,同时,将npm包发布到内网的预设的npm数据库,避免了代码暴露的风险,提高了组件的组件信息的安全性。
104.进一步地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,所述方法还包括:
105.响应于接收到的客户端的共享组件的下载请求,获取目标共享组件、目标共享组件的哈希散列值,以及所述目标共享组件的项目名称;
106.基于所述目标共享组件的哈希散列值从所述预设的npm数据库中获取所述目标共享组件的权限配置信息;
107.识别所述目标共享组件的权限配置信息,判断登录所述客户端的用户是否有权限下载所述目标共享组件;
108.当所述用户有权限下载所述目标共享组件时,识别所述目标共享组件位于所述组件信息共享平台的位置信息,基于所述位置信息在所述组件信息共享平台中进行下载,并通过npm安装模块将下载的所述目标共享组件的npm包安装到所述项目名称对应的项目中;
109.当所述用户无权限下载所述目标共享组件时,发送拒绝下载所述目标共享组件的消息至所述客户端。
110.本实施例中,由于每个组件都设置有权限配置信息,当用户在组件信息共享平台中下载目标共享文件时,需要识别所述用户是否有权限下载所述目标共享组件,提高了组件信息的安全性。
111.本实施例中,通过在企业内部搭建组件信息共享平台,可以第一时间查找到组件的发布者,对该组件新功能提出需求,发布者可以快速的根据新的需求对该组件进行维护,提高了组件的迭代效率。
112.在其他可选的实施例中,在发布至组件信息共享平台时,组件信息共享平台可以对待共享组件进行分类,便于开发人员快速查找,同时,在用户从组件信息共享平台上下载组件时,可以统计每个组件的下载次数,便于后续根据组件的下载次数,对组件信息共享平
台中的组件进行管理,例如,删除不常用的组件。
113.综上所述,本实施例所述的前端组件共享方法,通过对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包,基于所述npm包遍历预设的npm数据库,当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息,通过将所述待共享组件中的每个组件的组件信息封装为一个npm包,并将封装的npm包存储至npm数据库,并将验证合格的待共享组件发布至组件信息共享平台,实现了跨项目共享,解决了现有技术中不同项目的代码库之间无法互相访问,前端开发人员封装产生的组件无法在其他项目复用的问题,提高了组件的复用率。
114.实施例二
115.图2是本发明实施例二提供的前端组件共享装置的结构图。
116.在一些实施例中,所述前端组件共享装置20可以包括多个由程序代码段所组成的功能模块。所述前端组件共享装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)前端组件共享的功能。
117.本实施例中,所述前端组件共享装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、封装模块202、遍历模块203、验证模块204、发布模块205、识别模块206及下载模块207。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
118.获取模块201,用于响应于接收的组件共享请求,获取待共享组件的组件信息。
119.本实施例中,待共享组件可以为一个页面、一个图表、一个按钮或者一个实现了某种特定功能的函数,本实施例在此不做限制。
120.本实施例中,用户在进行组件共享时,通过客户端发起组件共享请求至服务端,具体地,所述用户可以为前端开发人员,也可以为项目维护人员,所述客户端可以是智能手机、ipad或者其他现有的智能设备,所述服务端可以为组件共享子系统,在组件共享过程中,如所述客户端可以向组件共享子系统发送组件共享请求,所述组件共享子系统用于接收所述客户端发送的组件共享请求,并响应于所述组件共享请求,获取待共享组件的组件信息,所述待共享组件可以为一个或者多个。
121.在一个可选的实施例中,所述获取模块201响应于接收的组件共享请求,获取待共享组件的组件信息包括:
122.解析所述组件共享请求的报文,得到所述报文携带的报文信息;
123.从所述报文信息中获取待共享组件的名称;
124.根据所述待共享组件的名称确定所述待共享组件的接口;
125.调用所述待共享组件的接口获取所述待共享组件的组件信息。
126.本实施例中,所述待共享组件的组件信息中包含有对组件的描述信息、组件的功能信息及组件的权限配置信息,其中,所述权限配置信息中包含有组件对应的权限项目信息、权限使用者信息,具体地,所述权限项目信息可以为一个项目或者多个项目,例如,多个项目可以共享一个组件。
127.封装模块202,用于对所述待共享组件的组件信息进行封装,得到所述待共享组件
的npm包。
128.本实施例中,npm是nodejs(运行环境)下的一个包托管平台,用于托管数据包。
129.在一个可选的实施例中,所述封装模块202对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包包括:
130.采用预设的命令初始化所述待共享组件的组件信息,得到所述待共享组件的项目信息;
131.将所述待共享组件的项目信息以npm包的形式进行封装,得到所述待共享组件的npm包。
132.本实施例中,所述预设的命令可以为npminit命令,基于所述npminit命令初始化所述待共享组件的组件信息。
133.本实施例中,所述项目信息包含有项目名称、项目版本、项目描述信息、项目依赖的第三方模块信息等项目信息。
134.本实施例中,通过对所述待共享组件的组件信息进行封装,使得每个待共享组件可以单独使用。
135.遍历模块203,用于基于所述npm包遍历预设的npm数据库,得到遍历结果。
136.本实施例中,所述遍历结果中包含有预设的npm数据库中存在所述npm包或者预设的npm数据库中不存在所述npm包。
137.在一个可选的实施例中,所述遍历模块203基于所述npm包遍历预设的npm数据库,得到遍历结果包括:
138.计算所述npm包的哈希散列值;
139.基于所述哈希散列值遍历预设的npm数据库;
140.当在所述预设的npm数据库遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中存在所述npm包;
141.当在所述预设的npm数据库未遍历到所述哈希散列值时,确定遍历结果为所述预设的npm数据库中不存在所述npm包。
142.本实施例中,可以采用md5算法计算所述npm包的哈希散列值,若哈希散列值相同时,确定所述预设的npm数据库中存在所述npm包;若哈希散列值不相同时,确定所述预设的npm数据库中不存在所述npm包。
143.本实施例中,通过判断预设的npm数据库中是否存在相同的npm包,根据判断结果确定是否对所述npm包进行审核。
144.本实施例中,当遍历结果为所述预设的npm数据库中存在所述npm包时,确定所述待共享组件的组件信息已发布到组件信息共享平台,无需再次发布,提高了待共享组件的发布准确率及效率。
145.验证模块204,用于当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,得到验证结果。
146.本实施例中,所述验证结果中包含有验证合格和验证不合格,当遍历到所述预设的npm数据库中不存在所述npm包,需审核所述npm包中的待共享组件的功能是否与描述的功能一致。
147.在一个可选的实施例中,所述验证模块204验证所述npm包中的待共享组件的组件
信息包括:
148.从所述待共享组件的组件信息中获取第一功能信息;
149.加载所述npm包,得到所述待共享组件的第二功能信息;
150.验证所述第一功能信息与所述第二功能信息是否一致;
151.当所述第一功能信息与所述第二功能信息一致时,确定验证结果为验证合格;
152.当所述第一功能信息与所述第二功能信息不一致时,确定验证结果为不合格。
153.本实施例中,第一功能信息是指前端开发人员提交的待共享组件描述的功能信息,第二功能信息是指对npm包的待共享组件加载后实现的功能信息。
154.本实施例中,当所述第一功能信息与所述第二功能信息一致时,确定前端开发人员提交的待共享组件的功能信息与待共享组件的功能信息一致,可以对所述待共享组件进行发布,提高了后续发布的待共享组件的准确率。
155.发布模块205,用于基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息。
156.本实施例中,组件信息共享平台用于展示发布的待共享组件及待共享组件的发布人和功能信息。
157.本实施例中,通过将所述待共享组件中的每个组件的组件信息封装为一个npm包,并将封装的npm包存储至npm数据库,并将验证合格的待共享组件发布至组件信息共享平台,实现了跨项目共享,解决了现有技术中不同项目的代码库之间无法互相访问,前端开发人员封装产生的组件无法在其他项目复用的问题,提高了组件的复用率。
158.在一个可选的实施例中,所述发布模块205基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息包括:
159.当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台;
160.当所述验证结果为验证不合格时,将所述待共享组件的验证不合格的信息发送至客户端。
161.本实施例中,通过将验证合格的待共享组件的组件信息发布到组件信息共享平台,提高了发布的待共享组件的准确率。
162.进一步地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,识别模块206,用于识别验证结果为验证合格的待共享组件的npm包的包名。所述发布模块205,用于解析所述包名,获取所述待共享组件的npm包位于所述预设的npm数据库中的位置,并将所述待共享组件的npm包发布至所述预设的npm数据库对应位置。
163.本实施例中,每个npm包对应有一个包名,根据包名可以将对应的npm包发布到预设的npm数据库的对应的位置,便于预设的npm数据库的管理,当需要更新或者维护预设的npm数据库,只需要根据npm包快速的获取到对应的npm包,对npm包中的组件的组件信息进行更新及维护,提高了组件的维护效率,同时,将npm包发布到内网的预设的npm数据库,避免了代码暴露的风险,提高了组件的组件信息的安全性。
164.进一步地,在所述当所述验证结果为验证合格时,将所述待共享组件的组件信息发布到组件信息共享平台之后,所述获取模块201,还用于响应于接收到的客户端的共享组
件的下载请求,获取目标共享组件、目标共享组件的哈希散列值,以及所述目标共享组件的项目名称。所述获取模块201,还用于基于所述目标共享组件的哈希散列值从所述预设的npm数据库中获取所述目标共享组件的权限配置信息。
165.所述识别模块206,还用于识别所述目标共享组件的权限配置信息,判断登录所述客户端的用户是否有权限下载所述目标共享组件;
166.下载模块207,用于当所述用户有权限下载所述目标共享组件时,识别所述目标共享组件位于所述组件信息共享平台的位置信息,基于所述位置信息在所述组件信息共享平台中进行下载,并通过npm安装模块将下载的所述目标共享组件的npm包安装到所述项目名称对应的项目中。
167.本实施例中,当所述用户无权限下载所述目标共享组件时,发送拒绝下载所述目标共享组件的消息至所述客户端。
168.本实施例中,由于每个组件都设置有权限配置信息,当用户在组件信息共享平台中下载目标共享文件时,需要识别所述用户是否有权限下载所述目标共享组件,提高了组件信息的安全性。
169.本实施例中,通过在企业内部搭建组件信息共享平台,可以第一时间查找到组件的发布者,对该组件新功能提出需求,发布者可以快速的根据新的需求对该组件进行维护,提高了组件的迭代效率。
170.在其他可选的实施例中,在发布至组件信息共享平台时,组件信息共享平台可以对待共享组件进行分类,便于开发人员快速查找,同时,在用户从组件信息共享平台上下载组件时,可以统计每个组件的下载次数,便于后续根据组件的下载次数,对组件信息共享平台中的组件进行管理,例如,删除不常用的组件。
171.综上所述,本实施例所述的前端组件共享装置,通过对所述待共享组件的组件信息进行封装,得到所述待共享组件的npm包,基于所述npm包遍历预设的npm数据库,当遍历结果为所述预设的npm数据库中不存在所述npm包,验证所述npm包中的待共享组件的组件信息,基于所述验证结果在组件信息共享平台中发布所述待共享组件的组件信息,通过将所述待共享组件中的每个组件的组件信息封装为一个npm包,并将封装的npm包存储至npm数据库,并将验证合格的待共享组件发布至组件信息共享平台,实现了跨项目共享,解决了现有技术中不同项目的代码库之间无法互相访问,前端开发人员封装产生的组件无法在其他项目复用的问题,提高了组件的复用率。
172.实施例三
173.参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
174.本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
175.在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设
备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
176.需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
177.在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的前端组件共享装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
178.在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(control unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。
179.在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
180.尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
181.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
182.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
183.在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的前端组件共享装置20)、程序代码等,例如,上述的各个模块。
184.所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到前端组件共享的目的。
185.示例性的,所述程序代码可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器32执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述程序代码在所述电子设备3中的执行过程。例如,所述程序代码可以被分割成获取模块201、封装模块202、遍历模块203、验证模块204、发布模块205、识别模块206及下载模块207。
186.在本发明的一个实施例中,所述存储器31存储多个计算机可读指令,所述多个计算机可读指令被所述至少一个处理器32所执行以实现前端组件共享的功能。
187.具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
188.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
189.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
190.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
191.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
192.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1