为什么 React 有自己的服务器?

问题描述 投票:0回答:3

首先,我知道这个问题的表述很糟糕。由于我是初学者,我想不出任何东西来描述这种情况。 因此,当我们在 cmd 上输入

npx create-react-app myapp
时,这将设置 React 项目。然后我们可以做
npm start
并且我们可以在
localhost:3000
上查看 React 应用程序。我想知道为什么会这样。 React应用程序位于客户端,那么为什么它需要服务器呢?接下来,我想设置一个 Node js 服务器,它是否需要使用与 React 应用程序相同的端口?我的直觉告诉我不。简而言之,我想知道为什么react在客户端时使用
localhost:3000
。 预先感谢

reactjs server client
3个回答
52
投票

使用 React 不需要 Node。您不需要 Node 来运行 React 项目。 React 是一个客户端 UI 库。 Node 提供的是一系列工具,使您能够更轻松地使用 React,例如 Webpack(将代码收集到单个包中并监听文件更改以重新加载该包以显示更新的代码)和 Babel(将ES6 和 JSX 到纯 JavaScript)。 npx 本身是一个 Node 工具,它允许您运行一个包,在本例中使用 Create React App,它可以让您轻松启动一个新的 React 项目。您看到的服务器只是允许重新加载应用程序以响应实时文件更改。服务器仅供开发使用。


4
投票

Jorge的答案是正确的,我想简化它并做出贡献。开发服务器需要我们使用Webpack和babel,它们将我们在React中编写的JSX代码转换为纯JavaScript代码,并将其传递给浏览器。您还可以使用开发服务器作为代理。


0
投票

您在问题中提到的服务器是开发服务器。顾名思义,它仅供开发期间使用。

最终生产包的输出根本不会将开发服务器纳入其中。它与更详细的错误/警告日志记录等一起被删除。

现在,你问为什么我首先需要一个开发服务器?

热模块替换是最明显的好处,但还有其他东西,例如更窄的浏览器支持,可以更快地重建,以及来自 React 和可能的其他库的更详细的错误和警告日志记录。

© www.soinside.com 2019 - 2024. All rights reserved.