【问题标题】:Electron: Using a module in the main processElectron:在主进程中使用模块
【发布时间】:2015-12-12 19:35:30
【问题描述】:

我正在尝试使用我在 Electron 的主进程中自己制作的模块, 但由于某种原因,它不能按预期工作(根本)。

在主进程(main.js)中,我定义了模块

const connection = require('connection');

该模块导出一个名为 init 的函数

var Connection = {
    init: function() {
        ...
    },
    ....
}
module.exports = Connection;

但是当试图调用这个方法时,通过网页上的主进程(main.js)。 (login.html)

var Connection = require('electron').remote.connection;
Connection.init();

它告诉我连接是未定义的。 我知道我制作的 Connection 模块有效,因为我在渲染器过程中使用它很好。

我想在主进程中使用整个 Connection 模块的原因是,即使用户转到另一个页面,我也可以保持该连接处于活动状态并执行任务。

我已经四处搜索,但似乎找不到解决问题的方法。

谢谢。

【问题讨论】:

    标签: node.js electron


    【解决方案1】:

    找到答案, 通过主进程使用模块的正确方法是使用这个:

    require('electron').remote.require('connection');
    

    【讨论】:

    • 感谢您的提示。为我工作。
    • 如果现在对某人有用(2021 年 5 月)。我正在使用更新版本的电子(v11),我的设置包括上下文隔离、预加载、nodeIntegration = false 和远程禁用。而且我可以在不使用远程和现代“从'./file.js'中导入文件模块;”的情况下导入模块句法。因此,从今天开始,您可以省略使用 remote 来要求您的模块并且它工作正常。
    猜你喜欢
    • 2019-03-27
    • 2017-04-02
    • 2021-03-07
    • 2020-02-19
    • 1970-01-01
    • 2018-01-05
    • 2020-04-09
    • 1970-01-01
    • 2017-06-21
    相关资源
    最近更新 更多