我来自Angular的背景,但我想开始学习React。我想为nodejs Express Web服务创建一个React前端。
在Angular中,我可以简单地将源代码构建到具有标准index.html的静态文件夹中,并且可以将其部署在任何Web服务器上。但是,使用React,我看到的每个教程都是使用create-react-app
和npm start
在自己的服务器上运行React。
我知道你也可以使用脚本标签在静态页面中导入React框架,但是你不能使用JSX语法,我想。是否可以简单地将React项目构建到一个带有index.html的静态文件夹中,该文件夹可以部署在任何Web服务器上?
答案 0 :(得分:1)
您可以使用create-react-app
创建应用,然后运行npm build
而不是npm start
来避免设置的复杂性。这会将所有内容编译到build
目录中,并附带index.html
。
答案 1 :(得分:1)
CRA将其服务器用于开发目的。当然,您不需要使用CRA来使用React。但是,随着您的应用越来越大,您将需要更多额外的工具。例如,您希望在不刷新浏览器的情况下立即查看代码。这里是开发服务器和热重新加载。
CRA在幕后使用Webpack。它是捆绑(显然)所有文件(包括css),缩小,丑化,优化代码等的绝佳工具。
对于简单的代码或测试目的,使用一个文件并将React和Babel附加到您的文件就足够了,但对于真正的应用程序,您将需要更多。您可以自己使用Webpack之类的东西,也可以使用CRA让它为您完成所有额外的工作。