在使用电子应用程序时,如何从角度组件与Python后端通信?

2024-05-20 21:37:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Electron创建一个桌面应用程序。 我的需求是前端使用Angular,后端使用python(应该与SQLite数据库通信)。在

我已经准备好了:

  1. 我有由Angular7和Material创建/设计的前端web应用程序
  2. 我还有10个纯python文件(没有任何框架),每当从web应用程序中单击按钮时,它们都应该执行一些后端逻辑。在
  3. 电子环境准备就绪主.js指向角度索引.html文件。在
  4. Python文件在一个单独的文件夹中,还没有连接到任何东西。在

当我启动电子,应用程序启动,我可以看到有角度的网页界面。我要做的就是在单击按钮时将请求发送到后端(python文件)。


我所知道的和迄今为止所做的努力:

  • 把ngx电子模块加到我的角分量import { ElectronService } from "ngx-electron"
  • 我使用ipcRenderer.send('aaa', data)发送数据,ipcRenderer.on('bbb', () => {})从主进程获取响应
  • 在主要过程中(主.js)你说

    ipcMain.on('aaa', (e, filename) => { // exec(pythonfile params); e.sender('bbb', response); })


问题:

这是正确的方法还是有一个更干净的解决方案来在Angular和python之间发送和接收数据?在

我觉得当你有很多要求的时候,那些听众会变得一团糟,不确定。我一直使用更干净的HTTP请求,但从未使用进程间通信。。。在


Tags: 文件web应用程序进程onjs电子按钮
1条回答
网友
1楼 · 发布于 2024-05-20 21:37:44

我没有这样做,但我怀疑可以这样做:

您需要节点run a python script

let process = spawn(‘python’, [“./d_alembert.py”]);

还有更多的answers here。在

虽然电子应用程序基本上可以在任何操作系统上运行,但还不清楚另一个用户是否会安装python(macos自带,Windows没有)。所以它可能在你的机器上工作,但在别人的机器上却不行

相关问题 更多 >