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

时间:2018-05-23 01:27:42

标签: reactjs

我来自Angular的背景,但我想开始学习React。我想为nodejs Express Web服务创建一个React前端。

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

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

2 个答案:

答案 0 :(得分:1)

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

您可以使用create-react-app创建应用,然后运行npm build而不是npm start来避免设置的复杂性。这会将所有内容编译到build目录中,并附带index.html

答案 1 :(得分:1)

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

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

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