可以通过外部源向 app(electron) 发送信号吗?

It's possible send signal to app(electron) by external source?

是否可以通过外部源向 app(electron) 发送信号?

Atom通过send line命令获取例如添加新项目

atom . -a

我找不到任何示例,甚至在 Atom 的源代码中也找不到。

更新: 是 atom 启动期间的命令行参数,带有 运行 个 atom 实例。

如何在 Electron 中解析命令行参数?

这与使用 process.env 从 NodeJS 解析命令行参数没有什么不同。问题has been answered before,这里就不多说了。

如何通过命令行开关与 运行 Electron 实例交互

首先,我假设您将可能的 运行 个实例的数量限制为一个 - 否则您将不得不弄清楚要与程序的哪个实例通信(可能通过添加进程 id 到你的命令行参数。)

让我们来编码吧。对于你的 main.js:

var shouldQuit = app.makeSingleInstance(function (commandLine, workingDirectory) {
    if (mainWindow) {
        if (mainWindow.isMinimized()) mainWindow.restore()
        mainWindow.focus()
        /* Insert your Code handling the passed command line arguments here */
    }
});

当尝试启动第二个实例时调用此代码段,而不是使第一个实例成为焦点。这可以很容易地进行调整,以将 commandLine 中保存的命令行参数传递给原始实例。

此外,您需要阻止第二个实例实际打开并退出:

if (shouldQuit) {
    app.quit();
    return;
}