我有:
在我的开发环境中,我将按以下步骤启动它们:
npm run dev
(在快速Web服务器的目录上)。它产生:“Express服务器监听端口7000”,并准备接收npm start
(在客户端应用程序的目录上)。这将在浏览器中启动客户端应用程序。然后,我可以键入,单击按钮并显示数据(从Web服务器)。 我想以一种方便的方式为最终用户提供此系统:
重要的是不仅要方便安装,而且要能够用一个用户命令启动两个系统组件。当用户关闭客户端应用程序时,理想情况下,还应该关闭快速Web服务器。
我玩过electron.js,但似乎它不会部署并启动 Electron 应用程序所需的Express服务器。还阅读了有关nw.js的信息,但没有看到与我的方案类似的任何示例。
我知道也许吗???我可以将服务器端实现为 Electron 渲染器进程之一,而不是HTTP,而是使用进程间通信(IPC)与涉及此主要过程的客户端应用程序(另一个渲染器进程)进行通信。但是,这将需要对该现有系统进行大量返工,这将需要大量时间并且目前无法负担。
部署和使用场景(上面的1、2、3)是否可能,以及用于实现这种部署和执行场景的最佳工具是什么?
您能否提供任何此类实现的引用?和/或理想情况下小的/完整的代码示例?
最佳答案
是的,你可以做到。您可以在生产中打包 Electron 应用程序和 express 服务器。在开发中,您需要开发Express应用程序并使用nodejs child-process
module执行它。在这里,您可以使用 exec
command或 spawn
command(我更喜欢exec,易于使用)。您可以从您的 Electron main
进程开始表达过程。等到快速服务器设置完毕,然后再继续使用该应用程序。
对于木偶,我建议您看看this github thread。他们说要在main process
上执行p操作,并通过electron IPC传达main
和renderer
进程
对于构建Windows安装程序,我认为最好使用electron-builder并生成带有签名证书的nsis installer
关于angular - 部署/运行: local Express web-server and local client-side angular app that sends ajax requests to this local web-server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282810/