首页 > 解决方案 > 电子/μ子:不需要在渲染器中定义

问题描述

我目前正在 Muon 开发 IPFS/以太坊 dapp。因为我需要 Metamask,所以我从这个样板开始:https ://github.com/SwapyNetwork/electron-metamask-boilerplate

到目前为止一切正常。但是我不能在渲染器进程或 html 脚本标签中使用 require('anything') 。(见下文)

样板代码似乎有问题,但我找不到。或者 Muon 不支持渲染器中的节点代码?

我在测试中唯一的变化是将 node-integration 显式设置为 true 并在 index.js 中插入 require('fs') 。(我当然安装了 fs)。

我从 stackoverflow 和其他站点尝试了许多不同的解决方案,但还没有找到解决方案。

错误信息

谢谢

标签: node.jselectronmuon

解决方案


根据 muon 的github repo

介子的一些目标包括:

  1. 使用小补丁直接使用 Chromium 源(消除电子的 chrome_src 副本)
    • 减少集成 chrome 组件的痛苦
    • 更快、更简化的端到端构建过程(请参阅 browser-laptop-bootstrap)。
  2. 添加对 Chrome 扩展的支持
  3. 为渲染器添加以安全为中心的功能:
    • 完全删除节点(从渲染器进程中)
    • 完整的沙盒
    • 可编写脚本的 window.opener 支持

如您所见,muon 不支持渲染中的节点代码。它是出于安全目的而设计的。Muon 可能非常适合某些应用程序,但如果您确实需要在渲染器中使用require ,我建议您切换到电子。


推荐阅读