java - 如何将 Electron.js 与桌面应用程序的 Java 代码连接起来?
问题描述
我正在构建一个简单的记事本应用程序。我想用 electron.js 构建前端,而对于文件处理或数据库,我想使用 Java 作为后端语言。我应该如何将 Electron 与 Java 后端连接起来。任何人请帮忙。
解决方案
Electron 结合了 Chromium 渲染引擎和 Nodejs 运行时。Electron 本身就是后端。Electron 有两个主要部分。渲染器和主进程。主要流程将建立在 Nodejs 之上。因此,要连接您的 Java 代码,您应该将 Java 代码构建为可执行的 bin 文件。我们可以像这样在 Electron 之间进行通信
const { spawn } = require('child_process');
const javaExternalService = spawn(cliPath, [args]);
javaExternalService.stdout.on('data', data => {
console.log(`Daemon stdout: ${data}`);
resolve(data.toString());
// Here is where the output goes
});
javaExternalService.stderr.on('data', data => {
console.log(`Daemon stderr: ${data}`);
resolve(data.toString());
// Here is where the error output goes
});
javaExternalService.on('close', code => {
console.log(`Daemon closing code: ${code}`);
// Here you can get the exit code of the script
});
但这会降低您的电子性能。如何在 Electron Main 进程中连接和管理数据库。
推荐阅读
- docker - Drupal 迁移到 Kubernetes
- xslt - 比较两个 xml 树节点并使用 xslt 查找具有值的节点是否存在于另一个中
- python-3.x - 如何在python中删除一系列打印的素数中的最后一个逗号?
- python - 在 doctest 中,有没有办法将 yaml 代码块视为变量?
- html - Flexbox 100% 高度,里面有可滚动的 div
- java - apache cxf 简单的 REST api 总是返回 404
- javascript - JavaScript:将像素位置添加到每个链接的 href
- json - 在 C# 中更新 Json 数组值
- sql - 从两个不同的表中选择值-sql
- c++ - std map 构造严格的弱顺序并找到下限