他们将 "ipcMain.on" 事件侦听器放在 createWindow() 函数中是有原因的吗?

Is there a reason they put the "ipcMain.on" event listener inside the createWindow() function?

目前正在阅读电子 js 文档,在 IPC 页面上,模式 1(https://www.electronjs.org/docs/latest/tutorial/ipc#pattern-1-renderer-to-main-one-way) 他们给出了一个代码示例。在 main.js 中,他们将事件侦听器放在 createWindow() 函数中,我看不出有任何原因。我试着把它放在外面,效果很好。以及对此的考虑?我错过了什么吗?

不需要包含在createWindow()函数范围内。那就是那个人在文档中写的方式。为了保持简单,我怀疑他们不想向示例中添加不必要数量的文件。相反,他们为了简化理解而牺牲了代码分离。

随着代码库的成熟,可以通过将 ipcMain.on('set-title', () => { ... }) 函数移动到处理应用程序设置/呈现的脚本来重构 Pattern 1: Render to main (one-way) 中显示的代码 window 框架。

请记住,Electron Doc 和 API 部分中给出的大部分(如果不是全部)示例都可以随着应用程序的增长进行重构,从而更好地分离关注点并提高代码可读性。