Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Electron 我应该如何组织我的电子代码?_Electron - Fatal编程技术网

Electron 我应该如何组织我的电子代码?

Electron 我应该如何组织我的电子代码?,electron,Electron,我目前正在使用Electron开发一个桌面应用程序,并试图找出如何组织代码的最佳实践 特别是,从我阅读Electron文档的理解来看,每个Electron应用程序都由一个主进程(对应于我的main.js脚本)组成,该进程创建BrowserWindow实例,每个实例运行一个渲染进程。渲染器进程无法直接访问许多Electron库,因此应该对主进程进行IPC调用 因此,这意味着我的main.js将是一个超长脚本,包含许多不同的函数,每个函数都通过IPC绑定到网页中的不同元素?有没有更好的方法来组织代码

我目前正在使用Electron开发一个桌面应用程序,并试图找出如何组织代码的最佳实践

特别是,从我阅读Electron文档的理解来看,每个Electron应用程序都由一个主进程(对应于我的
main.js
脚本)组成,该进程创建
BrowserWindow
实例,每个实例运行一个渲染进程。渲染器进程无法直接访问许多Electron库,因此应该对主进程进行IPC调用

因此,这意味着我的
main.js
将是一个超长脚本,包含许多不同的函数,每个函数都通过IPC绑定到网页中的不同元素?有没有更好的方法来组织代码?特别是,有没有办法使代码更加“模块化”并避免在
main.js
中出现墙文本


此外,这如何影响使用角度传感器的可能性?需要进程间IPC交互通信的体系结构是否仍然与Angular的模块化体系结构兼容?

您可以使用Angular构建GUI,这没有问题。对于系统调用,您可能需要IPC,但否则,我希望您的大多数代码都是业务逻辑,不需要在渲染器进程中。因此,例如,让我们考虑一个按钮,在单击时执行一个HypReQuest.函数makeHttpRequest()应该位于main.js中(因为只有主进程可以访问electron net库),而所有按钮逻辑都应该位于特定的角度组件中。问题是:构建一个需要与外部脚本进行交互通信的组件(根据定义应该是隔离的)是否仍然有意义?对于web请求,我使用从渲染器进程获取节点,但没有任何东西阻止您通过IPC访问网络包。一般来说,我更喜欢在渲染器进程中构建应用程序,并保留主要应用程序用于安装和系统工作,并在需要时使用IPC。您还可以使用
remote
软件包,但据我所知,它将被弃用。