我已经看到将Production React App与本地服务器一起使用。
但是大多数情况下,我发现该方法是通过将Express.js与Heroku一起运行生产React应用。
如何在不更改代码的情况下与本地服务器一起运行生产反应应用程序?
答案 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-server
或serve
软件包来运行本地服务器。
如果在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