当没有明确导入任何需求框架时,如何在Electron的客户端中使用require是合法的?

时间:2018-01-11 23:26:10

标签: javascript browser electron require

要与Electron中的主流程进行通信,渲染器流程需要ipcMain模块(https://github.com/electron/electron/blob/master/docs/api/ipc-main.md):

<script>
  // In renderer process (web page).
  const {ipcMain} = require('electron')
</script>

我很困惑为什么这是合法的。在包含此脚本的客户端html文件中,没有任何require框架的引用(没有脚本标记可以导入任何require框架)。然而,凭空而来,你可以使用require,这不是Javascript关键字。

需求机制如何在Electron中发挥作用?

1 个答案:

答案 0 :(得分:3)

电子渲染器过程不是纯铬过程 - 当Electron启动渲染器窗口时,它内部注入全局对象可启用电子特定功能。 require就是其中之一,修补全局以在chrome进程中公开node.js模块解析。