【发布时间】:2019-12-13 05:25:54
【问题描述】:
作为一名前 .Net 开发人员,我刚刚开始学习 MERN Stack 开发。我想在这方面发展我的技能,经过大量研究后,我无法弄清楚为什么我们在使用 react js 时需要有两个不同的运行端口/应用程序?
首先,我使用 NodeJS、Express、EJS 视图引擎开发了一些简单的应用程序,并将其部署到 Heroku。到目前为止,这对我来说很好。以后我可以使用包括 MonoDb 在内的这些技术开发我所有的个人网站。但是为了成为完整的 MERN Stack 开发人员,我开始搜索 React 并意识到它只能与提供另一个端口来分隔它,就像客户端应用程序一样。为什么我们不能在一个端口下使用 react 和所有其他东西?
当我得到两个不同的网页时,这让我很困惑; http://localhost:5000/(反应应用) http://localhost:3000/(服务器端:打开我使用 EJS 提供的不同 html)
如果我们在 react 的 package.json 文件中给出与服务器相同的端口号(3000),那么它会给出以下警告;
某些东西已经在端口 3000 上运行。 npm run 客户端退出,代码为 0
是因为 ReactJS 的特性吗?
【问题讨论】:
-
Why we can't use react and all other things in under one port?你可以!您可以做的一件事是当它是GET请求时,您返回 react 静态文件,其他请求转到您的 api。