IPC 简介

Electron 内核。Electron 是一个集成了 Node.js 和 Chromimu 的跨平台开发框架。 Electron’s introduction document 更深入的理解 Electron 中的主进程和渲染进程的关系。简单点说,Electron 的主进程相当于一个 Node.js 服务端程序,而每一个窗口(渲染进程)则相当于一份客户端网页程序。 Cocos Creator 沿用了 Electron 的主进程和渲染进程的设计结构,在 Creator 启动前,我们将许多服务如:资源数据库,脚本编译器,预览服务器,打包工具等在主进程中开启,之后我们在主窗口也就是渲染进程中启动编辑器的界面操作部分。当界面操作需要使用主进程的模块时,我们就会进行进程间的通信(IPC)来完成请求。

进程间通信(IPC)

ipcMain 和 ipcRenderer 来帮助我们完成这个任务。由于这两个模块仅完成了非常基本的通信功能,并不能满足编辑器,插件面板与主进程之间的通信需求,所以 Cocos Creator 在这之上又进行了封装,扩展了进程间消息收发的方法,方便插件开发者和编辑器开发者制作更多复杂情景。

IPC 消息命名规范

IPC 的消息名就是一个字符串,对于消息的发送者,可以自由的进行消息的命名。但是我们希望开发人员在 Cocos Creator 中定制消息时遵守一定的规范,防止混乱。 消息的命名规范为:

  1. 'module-name:action-name'// or'package-name:action-name'

编辑器内置的 IPC 消息列表。

扩展包中的进程关系

main.js,下一节会对 入口程序 进行详细介绍),如果你的扩展包需要用户界面,那么还需要一个或多个渲染进程 (会在后面的 扩展编辑器面板 介绍)。