【问题标题】:Reactjs + Electron + NodejsReactjs + Electron + Nodejs
【发布时间】:2019-10-29 18:31:26
【问题描述】:

我已经研究了很长时间,但还没有找到我需要的东西。也许这里有人可以帮助我。

我想要什么:

我正在尝试创建一个将在电子内部运行的应用程序。前端和后端都应该封装在一个可执行文件中,所以我认为 React js 和 Nodejs 会是一个不错的选择。

但这并不像我想象的那么简单。为 reactjs https://github.com/electron-react-boilerplate/electron-react-boilerplate 找到了一个很好的样板,但我不知道如何将 nodejs 封装为它的后端。

它还需要以某种方式与发布包集成等等...... 此外,当您启动应用程序时,我需要有一个将在 localhost:[port] 上运行的网络服务器。

技术总结:

所以基本上:

  • Electron 与 React js - 作为应用程序的“面孔”
  • Nodejs - 作为应用程序的后端
  • 本地运行的网络服务器 - (使用 react js)。

在应用程序中,我将链接到由本地运行的 reactjs Web 应用程序提供的页面。

希望我很清楚。我真的希望有人可以帮助我。

谢谢!!!

【问题讨论】:

  • 这是一个 NodeJS 应用程序——还有 Electron 并不是很相关。你可以在它的非网络应用部分做所有普通的 NodeJS 事情。

标签: node.js reactjs electron


【解决方案1】:

您知道服务器端部分与前端是分开的。您可以像这篇文章https://flaviocopes.com/react-electron/ 一样一起午餐反应电子。但是服务器端必须开始独立。你可以使用 pm2 来启动它们。http://pm2.keymetrics.io/

让我们谈谈电子。什么是电子? 根据 electronjs.org :

Electron 是 GitHub 开发的一个开源库,用于构建 具有 HTML、CSS 和 JavaScript 的跨平台桌面应用程序。 Electron 通过将 Chromium 和 Node.js 组合成一个 可以为 Mac、Windows 和 Linux 打包单个运行时和应用程序。

所以 electron 是一个创建桌面应用程序的工具。它使用 chromium 引擎来访问操作系统级别的资源。但这样做的目的是创建应用程序而不是服务器端工作。 如果您有一些必须在服务器中处理的需求和逻辑,您应该考虑这一点。否则,请阅读无服务器应用程序。

【讨论】:

  • pm2 很不错!但是我也可以使用 pm2 最后将我的应用程序打包成一个可执行文件吗?那么当客户端启动可执行文件时,pm2会启动并启动我定义的所有相关服务?
  • 您的意思是每次世界上每个用户启动应用程序时,后端服务器都会启动?
  • 不,这里一切都假设只运行本地主机。云中没有托管的网络服务器或类似的东西。一切都假设是本地主机。我只是想知道这个 pm2 对我有什么帮助。
  • 假设你有一个服务器位于 /home/serverside/ 和前端 /home/frontend/ 。您可以提供 pm2 config.json 来运行服务器和前端。检查此链接:futurestud.io/tutorials/…
  • @babakabadkheir 解释一下为什么 Electron 是一个 NodeJS 应用程序,你不能在其中建立服务器可能会很好。
猜你喜欢
  • 2017-04-30
  • 2020-03-06
  • 1970-01-01
  • 2015-11-30
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-28
  • 1970-01-01
相关资源
最近更新 更多