Electron - 解决渲染器进程中的电子模块问题
Posted
技术标签:
【中文标题】Electron - 解决渲染器进程中的电子模块问题【英文标题】:Electron - Issue Resolving Electron Modules In Renderer Process 【发布时间】:2015-12-28 11:58:42 【问题描述】:我在使用 Electron v0.32.3 和 require 的 Web 应用程序中解析电子模块时遇到了困难。我的理解(尽管在文档中不是很清楚)是这些模块应该可以自动用于要求在 webview 中运行的应用程序(示例包括“ipc”和“远程”)。我可以看到它们在运行时就在那里,但我不确定如何访问它们:
我觉得我缺少一些东西。其他信息:我的 Web 应用程序是一个 Durandal 2x SPA,它已经使用 require 来加载模块。渲染过程中是否需要任何其他类型的设置 requirejs 配置才能访问这些模块?
【问题讨论】:
【参考方案1】:事实证明,我只是不了解正在发生的所有不同过程。因此,对于在 browser-window 内使用 webview 的应用程序,实际上需要关注三个进程:
-
主进程 - 可以访问节点
渲染器进程(浏览器窗口) - 默认情况下可以访问节点
Web 查看进程 - 默认情况下没有是否有权访问节点
我看到了可用于 2) 的节点模块并尝试在 3) 中使用它们。 webview 具有可用于启用此功能的“nodeintegration”属性: http://electron.atom.io/docs/v0.34.0/api/web-view-tag/#nodeintegration
但是,使用预加载脚本只允许使用 nodeintegration 公开必要的节点功能: http://electron.atom.io/docs/v0.34.0/api/web-view-tag/#preload
我采用了那个解决方案,在渲染器进程和 webview 进程之间建立了通信。
【讨论】:
以上是关于Electron - 解决渲染器进程中的电子模块问题的主要内容,如果未能解决你的问题,请参考以下文章