React 应用程序是否必须在其自己的服务器进程上运行?

IT技术 reactjs
2021-05-20 20:32:17

我有 Angular 背景,但我想开始学习 React。我想为 nodejs Express Web 服务制作一个 React 前端。

在 Angular 中,我可以简单地将源代码构建到一个带有标准 index.html 的静态文件夹中,并且它可以部署在任何 Web 服务器上。然而,对于 React,我看到的每个教程都是关于在自己的服务器上使用create-react-app运行 React npm start

我知道你也可以只使用脚本标签在静态页面中导入 React 框架,但是你不能使用 JSX 语法,我想。是否可以简单地将一个 React 项目构建到一个带有 index.html 的静态文件夹中,该文件夹可以部署在任何 Web 服务器上?

2个回答

是的,你可以做你所描述的。如果你想使用 JSX 语法,你需要 Babel,它将它转换成标准的 JavaScript。

您可以通过使用create-react-app来创建应用程序,然后运行npm build而不是npm start. 这会将所有内容编译到一个build目录中,并以index.html.

CRA 将其服务器用于开发目的。你当然不需要 CRA 来使用 React。但是,随着您的应用程序变得越来越大,您将需要更多额外的工具。例如,您希望在不刷新浏览器的情况下立即查看代码。开发服务器和热重载来了。

CRA 在幕后使用 Webpack。它是捆绑(显然)所有文件(包括 css)、缩小、丑化、优化代码等的绝佳工具。

对于简单的代码或测试目的,使用一个文件并将 React 和 Babel 附加到您的文件可能就足够了,但对于真正的应用程序,您将需要更多。你要么自己使用 Webpack 之类的东西,要么使用 CRA 让它为你做所有额外的事情。