如何在本地网络上部署 React + Express 应用程序?

How to deploy a React + Express app on a local network?

这是我第一次 post 在这里,如果我做错了请告诉我。我想首先提到我是一名初级开发人员。我有一堆类,但这也是我第一次从头到尾做自己的事情(强调“结束”)。

我正在开发一个相对简单的应用程序,用于用户管理(CRUD,具有不同级别的授权)和商店管理。我可以选择要使用的工具、框架、语言等,唯一的限制是 1/ 使用它的主要设备大多数时候是平板电脑 2/ 不应在线托管任何内容。我想更熟悉 Javascript,所以我开始使用 Express Nodejs(背面)和一个 MySQL 我通过 Sequelize 访问的数据库创建一个 React 应用程序(正面)。

开发进展顺利(大部分归功于 SO 上的许多优秀 post),但我只是被现实击中了,我从未尝试构建应用程序并查看它是否运行是我想要的方式。我不知道该怎么做。我应该早点研究一下。

到目前为止,在开发过程中,我总是通过 运行ning npm start(前端)和 node server.js(后端)在 PC 和 phone 上测试所有内容,并且浏览器中的客户端 运行s(当使用 phone 时,我访问 IP 地址和端口,如 192.168.x.x:3000)。后端侦听 8080 端口没有问题,感谢 Sequelize,对 MySQL 数据库的访问按预期工作。 Frontend监听3000端口,将用户界面显示在浏览器上,React使得开发前端功能变得容易,并快速排查问题。一切正常,正如预期的那样,同一网络中的任何人(并使用网络浏览器)都可以通过这种方式访问​​和使用该应用程序。

这是我想在生产构建中复制的行为:让计算机托管构建,运行“服务器”,以便本地网络中的任何设备都可以使用该应用程序。所以我想我需要以某种方式构建我的构建,以便可以随意打开和关闭“服务器”,也许是通过 .exe ?还是和电脑同时开机?

我知道我应该早点研究,但不这样做是错误的。我所知道的是我必须使用 npm run build 来获取构建文件夹,但我不知道从那里可以做什么。你能帮我弄清楚吗?在我不确定的许多事情中,主机(不是我的)是否需要安装 node.js ?它也必须安装 MySQL 吗?我是构建包含后端和前端的单个构建,还是分别构建两者?如果是,如何?

如果您需要查看部分代码,请告诉我。提前致谢,祝你有美好的一天。

编辑:应用程序是使用 create react app

创建的

有一些选项可以像云服务器一样部署在云上。但我认为您正在寻找在本地计算机上托管应用程序的方法。您需要创建一个服务,捆绑应用程序并随时提供服务。

关注 link 可能会有帮助 https://www.section.io/engineering-education/compile-your-nodejs-application-into-a-exe-file/