基于Electron应用程序的组件应用方法与流程

文档序号:41324365发布日期:2025-03-19 14:34阅读:13来源:国知局
基于Electron应用程序的组件应用方法与流程

本申请涉及electron客户端开发,尤其涉及一种基于electron应用程序的组件应用方法。


背景技术:

1、electron应用程序是一个使用javascript、html和css构建桌面应用程序的框架,它嵌入了chromium浏览器引擎和node.js环境,具有跨平台特性,允许开发者使用web开发技术快速实现本地客户端的应用程序。目前为了适配国产化系统,很多桌面应用程序基于electron框架构建。当应用场景越来越多样化时,需要将应用程序的不同模块拆分成不同组件,便于业务解耦以及按需组合。

2、目前electron应用程序没有提供通用的组件(或者插件)接入的方案,有开发者提出直接引入所有组件,存在应用程序与插件的耦合性强、应用程序臃肿等问题。

3、如何针对不同用户需要不同组件模块的场景下,在electron应用程序引入所需的不同组件为用户进行定制化产品开发,提高组件的复用性和降低electron应用程序与组件的耦合性,提高组件应用的效率,是目前需要解决的技术问题。


技术实现思路

1、本申请实施例的目的是提供一种基于electron应用程序的组件应用方法,用以解决electron应用程序的组件应用效率低的问题。

2、为了解决上述技术问题,本说明书是这样实现的:

3、第一方面,提供了一种基于electron应用程序的组件应用方法,包括:

4、加载electron应用程序的资源目录中的各组件;

5、获取各组件的主进程对应导出的方法对象;

6、将所述方法对象挂载到所述electron应用程序的预设对象上,以供所述electron应用程序调用。

7、可选地,所述加载electron应用程序的资源目录中的各组件,包括:

8、在所述electron应用程序的主进程代码中引入用于加载组件的主进程脚本的代码;

9、基于所述用于加载组件的主进程脚本的代码,触发所述electron应用程序的主进程扫描所述资源目录中对应的资源文件路径;

10、通过所述electron应用程序的主进程的扫描,加载所述资源文件路径下的各组件。

11、可选地,所述通过所述electron应用程序的主进程的扫描,加载所述资源文件路径下各的组件,包括:

12、通过所述electron应用程序的主进程的扫描,查找所述资源文件路径下各组件的相关代码和配置文件;

13、基于所述配置文件,通过所述electron应用程序的主进程确定需要加载的目标组件;

14、通过所述electron应用程序的主进程,将所述目标组件的相关代码和配置文件进行存储。

15、可选地,一个组件的相关代码和配置文件打包到一个asar包中,

16、所述通过所述electron应用程序的主进程的扫描,查找所述资源文件路径下各组件的相关代码和配置文件,包括:

17、通过所述electron应用程序的主进程的扫描,查找所述资源文件路径下的asar包以查找对应组件的相关代码和配置文件。

18、可选地,组件的配置文件包括组件名称、组件id、组件的主进程入口代码相对路径,

19、所述基于所述配置文件,通过所述electron应用程序的主进程确定需要加载的目标组件,包括:

20、通过判断目标asar包中的配置文件是否携带组件名称,确定所述目标asar包是否为组件的asar包;

21、如果是,则将所述目标asar包的配置文件中的组件id与预设信任组件id列表进行匹配;

22、如果匹配成功,则将所述目标asar包对应的组件确定为需要加载的目标组件。

23、可选地,所述获取各组件的主进程对应导出的方法对象,包括:

24、基于所述配置文件中组件的主进程入口代码相对路径,通过所述electron应用程序的主进程执行目标组件的主进程入口代码,以通过目标组件的主进程导出目标组件对应的方法对象。

25、可选地,所述将所述方法对象挂载到所述electron应用程序的预设对象上,包括:

26、以目标组件的组件名称为键、以目标组件的主进程导出的方法对象为值,通过所述electron应用程序的主进程将目标组件的主进程导出的方法对象挂载到所述electron应用程序的预设对象上。

27、可选地,还包括:

28、在所述electron应用程序启动新窗口的情况下,加载各组件的预加载脚本;

29、在渲染进程中,基于加载的各组件的预加载脚本进行调用。

30、可选地,所述在所述electron应用程序启动新窗口的情况下,加载各组件的预加载脚本,包括:

31、在所述electron应用程序的预加载脚本代码中引入用于加载组件的预加载脚本的代码;

32、在所述electron应用程序启动新窗口的情况下,基于所述用于加载组件的预加载脚本的代码,触发所述electron应用程序的预加载脚本加载各组件的预加载脚本。

33、可选地,所述在渲染进程中,基于加载的各组件的预加载脚本进行调用,包括:

34、在渲染进程中,通过所述electron应用程序的渲染进程调用加载的各组件的预加载脚本中携带的方法对象。

35、在本申请实施例中,通过加载electron应用程序的资源目录中的各组件,获取各组件的主进程对应导出的方法对象,将所述方法对象挂载到所述electron应用程序的预设对象上,以供所述electron应用程序调用,由此可以利用electron应用程序的资源目录中的已有组件,在不需要改动太多代码的情况下实现组件功能的解耦和组合,满足不同用户需要实现自由定制化的产品开发,提高组件的复用性,降低electron应用程序与组件的耦合性,提高组件应用的效率。



技术特征:

1.一种基于electron应用程序的组件应用方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述加载electron应用程序的资源目录中的各组件,包括:

3.根据权利要求2所述的方法,其特征在于,所述通过所述electron应用程序的主进程的扫描,加载所述资源文件路径下各的组件,包括:

4.根据权利要求3所述的方法,其特征在于,一个组件的相关代码和配置文件打包到一个asar包中,

5.根据权利要求4所述的方法,其特征在于,组件的配置文件包括组件名称、组件id、组件的主进程入口代码相对路径,

6.根据权利要求5所述的方法,其特征在于,所述获取各组件的主进程对应导出的方法对象,包括:

7.根据权利要求5所述的方法,其特征在于,所述将所述方法对象挂载到所述electron应用程序的预设对象上,包括:

8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:

9.根据权利要求8所述的方法,其特征在于,所述在所述electron应用程序启动新窗口的情况下,加载各组件的预加载脚本,包括:

10.根据权利要求8所述的方法,其特征在于,所述在渲染进程中,基于加载的各组件的预加载脚本进行调用,包括:


技术总结
本申请公开了一种基于Electron应用程序的组件应用方法,包括:加载Electron应用程序的资源目录中的各组件;获取各组件的主进程对应导出的方法对象;将所述方法对象挂载到所述Electron应用程序的预设对象上,以供所述Electron应用程序调用。

技术研发人员:陈捷滔,袁琳,黄家明
受保护的技术使用者:中移互联网有限公司
技术研发日:
技术公布日:2025/3/18
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1