为什么React需要自己的服务器?

47
首先,我知道这个问题表述得不好。作为一个初学者,我无法想到任何描述情况的词语。
当我们在命令行输入 npx create-react-app myapp 时,它会设置 React 项目。然后我们可以使用 npm start 命令并在 localhost:3000 上查看 React 应用程序。我想知道为什么会这样。React 应用程序在客户端上,那么为什么需要服务器呢?接下来,我想要搭建一个 Node.js 服务器,是否需要使用与 React 应用程序相同的端口呢?我的直觉告诉我不需要。简单地说,我想知道为什么 React 在客户端使用 localhost:3000
谢谢提前帮助!

5
这是一个开发服务器,用于在本地工作时审查结果。它不适用于生产环境,也不会包含在构建输出中。 - jonrsharpe
好的,所以我只需要设置Node.js部分,并从React应用程序正常交互即可? - Eye Patch
2
我不知道你具体想做什么,但可能是这样。如果你的意思是你会在 React 前端使用 Node/Express 后端,以下是一种方法:https://github.com/textbook/starter-kit - jonrsharpe
非常感谢。这正是我想做的。 - Eye Patch
2个回答

51

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


React使用的服务器名称是什么? - cikatomo
3
@cikatomo 这是 webpack 开发服务器。 - Celsiuss

4

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


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Aaron Meese
1
如果你仔细阅读,你会意识到我写的不仅仅是澄清。而且我不需要声望。抱歉有偏见的评论。 - Ferhat Adibelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接