Heroku process.env.PORT не определен для PM2 и @ babel / register - PullRequest
0 голосов
/ 01 апреля 2020

process.env.PORT возвращается неопределенным, когда я пытаюсь развернуть свое приложение на heroku. Я также использую pm2 и babel. Я запускаю команду "build": "pm2-runtime start ecosystem.config.js --env production". Я попробовал другой случай порта и вернулся без удачи. Все равно возвращает 3333, и приложение в конечном итоге падает.

Вот мое приложение. js:

import compression from 'compression'
import express from 'express'
import bodyParser from 'body-parser'

import { productsRoute, imagesRoute, testRoute } from './routes'
import { auth } from './middleware'

const app = express()
const port = process.env.PORT || process.env.port || process.env.Port || 3333

// middleware
app.use(bodyParser.json())
app.use(compression())
app.use(auth)

// routes
app.use(`/products`, productsRoute)
app.use(`/images`, imagesRoute)
app.use(`/test`, testRoute)

// start application
app.listen(port, () => console.log(`App started on port ${port}`))

Вот мой сервер. js

require(`@babel/register`)
require(`./src/app.js`)

Вот мой конфиг pm2:

module.exports = {
    apps : [{
        name: `app`,
        script: `./server.js`,
        instances: `max`,
        exec_mode: `cluster`,
        autorestart: true,
        watch: false,
        ignore_watch: [`images`, `node_modules`],
        max_memory_restart: `1G`,
        env: {
            NODE_ENV: `development`,
        },
        env_production: {
            NODE_ENV: `production`,
        },
    }],
}
...