设置 PORT NodeJs Heroku

Set the PORT NodeJs Heroku

我在 Heroku 上创建了一个应用程序,并提取了我的 GitHub 存储库。

我的应用程序显示良好,但每次我有新版本时我的后端端口都会改变。

这是我尝试设置它的方法:

const PORT = process.env.PORT || 5000

const corsOptions = {
    origin: 'localhost',
    credentials: true,
    optionsSuccessStatus: 200
}
app.use(cors(corsOptions));

app.use(express.json());
app.use(express.urlencoded({
    extended: true
}))
app.use(cookieParser())

if (process.env.NODE_ENV === "production") {
    app.use(express.static('client/build'))
}

// routes
app.use('/api', routes)

//server 
app.listen(PORT, () => {
    console.log(`Listening on port ${process.env.PORT}`)
})

即使我只设置5000,我也有一个像Listening on port 54435

这样的端口

知道如何为我的后端设置固定端口吗?

我需要它,因为我的前端 (React) 的 axios 请求需要端口(显然)

无法在 Heroku 上对端口进行硬编码:应用程序必须绑定到运行时提供的 PORT

每个应用程序都可以部署在 Web Dyno 中,因此您可以使用 herokuapp.com URL.

调用后端

将您的应用程序部署到 heroku 后,heroku 会给您一个 link 例如mynewapp.heroku.com.

现在在前端(React)的axios请求中,替换所有

http://localhost:5000mynewapp.heroku.com.

此处无需指定任何端口号。