首页 文章

从前端调用Electron方法

提问于
浏览
1

我正在试图弄清楚如何从我的前端应用程序javascript中调用Electron方法 . 主要或渲染器过程对初学者来说会很好,大概我可以从那里完成剩下的工作 .

在我可以找到的所有示例中,渲染器代码附加到前端元素并添加事件侦听器:

document.querySelector('#btn').addEventListener(() => { // doElectronStuff });

这不是我所追求的......这似乎是一个相当严重的耦合,让这个“服务器端”代码进入我的DOM .

使用Angular2前端,我发现了一个名为ngx-electron的漂亮软件包,它将电子接口公开为带有打字稿映射的可注入完成等 .

所以现在我有一个Angular服务,我想调用一个Electron方法(以获取一些数据库的东西,或其他任何东西):

constructor(private _electron:ElectronService) {}

getAll(): Entity[] {
    var results = this._electron.ipcRenderer.?????
}

我真的不知道如何使角度服务调用电子方法 . 我已经尝试运行 emit() 并尝试使用 send() 等对 ipcRendererremote.ipcMain ,但收到各种错误,所有这些似乎无法 Build 连接 .

希望我错过了一些简单的东西?电子端语法和角度方法语法的组合是什么才能匹配这些?谢谢

(我并不是特别坚持使用ngx电子,但它确实看起来很好用,我假设它运行良好,一旦我越过我自己的块......)

1 回答

  • 1

    找到了 . 像往常一样,对我的疏忽 .

    // in the angular service
    this._electron.ipcRenderer.send('event-aka-channel-name1', args);
    
    // in the electron main.js
    ipc.on('event-aka-channel-name1', (event, args) => { // doStuff });
    

    我的问题显然是我通过各种日志捕获的导入拼写错误 . 一旦修复,其余部分按预期工作(或者至少足以让我继续前进)

相关问题