requirejs - Electron - 解决渲染器进程中的 Electron 模块问题

标签 requirejs durandal-2.0 electron

我在使用 Electron v0.32.3 的 web 应用程序中使用 require 解析 Electron 模块时遇到了困难。我的理解(尽管在文档中不是很清楚)是模块应该可以自动用于要求在 webview 中运行的应用程序(示例包括“ipc”和“远程”)。我可以看到它们在运行时就在那里,但我不确定如何访问它们:
enter image description here

我觉得我缺少一些东西。其他信息:我的 Web 应用程序是一个 Durandal 2x SPA,它已经使用 require 来加载模块。渲染过程中是否需要任何其他类型的设置 requirejs 配置才能访问这些模块?

最佳答案

事实证明,我只是不了解正在进行的所有不同过程。因此,对于使用 的应用程序网页浏览 的内部浏览器窗口 ,其实需要关注三个过程:

  • 主进程 - 可以访问节点
  • 渲染器进程(浏览器窗口) - 默认情况下可以访问节点
  • Web View 进程 - 执行 不是 默认访问节点

  • 我看到了 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 进程之间建立了通信。

    关于requirejs - Electron - 解决渲染器进程中的 Electron 模块问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32870493/

    相关文章:

    javascript - Durandal Weyland 优化无法处理 require 函数

    javascript - 关闭 Durandal 子路由器的历史记录

    javascript - 在渲染器进程中使用 Electron 进度条

    node.js - TypeError : keytar. addPassword不是 Electron 函数

    javascript - 使用 requirejs 结构时 Canvas 中的 Canvas 不显示

    javascript - 使用 Requirejs 时,是否可以让优化器自动找到所有依赖项?

    javascript - RequireJS - 按目录排除(或正则表达式)

    javascript - 如何正确配置 requireJS

    javascript - Durandal构造函数但仍想记住数据

    javascript - 如何在退出时删除所有 Electron 膨胀软件?