如何使用env的端口值将React应用部署到Heroku?

问题描述

嗨,我试图将rtmp服务器部署到Heroku,但首先我遇到了一些问题,这些问题是我对端口进行了硬编码而不是制作env文件。我同时使用来运行两个脚本。 我的文件结构是

 rtmp-server
 ├── client
 └── rtmp

rtmp需要2个端口(1935和8888),客户端也需要2个端口(3000和3001)

我有几个问题。

  1. 我是否必须在 root subdirs (客户端和rtmp都分别使用)中使用Dotenv
  2. 如何在package.json中使用Dotenv的值

解决方法

在您的package.json中,您可以执行类似 command to serve $PORT 的操作来获取PORT变量

但是,通过读取代码中的PORT变量,可以找到一种更好的方法,如下所示:

const PORT = process.env.PORT || 3000

如果process.env.PORTundefined,则这里的3000只是回退值。这在开发时很有用