如何在具有本地后端的本地运行生产React应用程序

时间:2019-07-09 09:03:58

标签: reactjs

我已经看到将Production React App与本地服务器一起使用。

但是大多数情况下,我发现该方法是通过将Express.js与Heroku一起运行生产React应用。

如何在不更改代码的情况下与本地服务器一起运行生产反应应用程序?

5 个答案:

答案 0 :(得分:1)

在本地构建react应用的生产版本(如果使用npm run build,则运行create react app),然后可以使用serve通过运行{{1}在本地运行它}。 serve -s build是生产版本的文件夹名称。

答案 1 :(得分:1)

当您运行npm run build时,控制台实际上应该说类似以下内容

The build folder is ready to be deployed.
You may serve it with a static server:

npm install -g serve
serve -s build

构建脚本正在将您的整个应用程序构建到build文件夹中,可以进行静态服务。但是实际上为它提供服务需要某种静态文件服务器,例如他们建议的那种。

运行命令serve -s build后,您可以在localhost(在指定端口上)访问生产版本。

您当然可以运行任何您喜欢的静态文件服务器,我通常使用express来实现,但是只要用一个命令就可以为statics文件提供服务,这似乎是最简单的选择。

答案 2 :(得分:0)

如果您想在默认的:8000端口上运行React应用程序,创建一个将在端口:8000上运行的nginx代理服务器并将您的请求代理到为您提供服务的Express应用程序中更加方便在端口:8081或您正在使用的任何端口上运行的捆绑应用程序。

答案 3 :(得分:0)

有多种方法可以实现这一目标。

您可以使用http-serverserve软件包来运行本地服务器。 如果在MacOS上,还可以使用python SimpleHttpServer托管生产构建文件夹。

参考:https://medium.com/@samratshaw/test-react-production-build-locally-434907be9e49

答案 4 :(得分:0)

CRA 的默认日期

<块引用>

serve -s 构建

将在本地主机端口 5000 上部署您的应用

如果你想在自定义端口上打开使用标志 -l

<块引用>

serve -s build -l customportnumber

CRA Deployment Official Docs