Использование pm2 с npm run

У меня есть frontendapp, для которого я определил ряд задач сборки и запуска в package.json, как показано в следующем фрагменте:

 "scripts": {
    "start": "env-cmd -f .env.dev react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "build:dev": "env-cmd -f .env.dev npm run build",
    "build:test": "env-cmd -f .env.test npm run build",
    "build:prep": "env-cmd -f .env.prep npm run build",
    "build:prod": "env-cmd -f .env.prod npm run build",
    "start-dev-server": "env-cmd -f .env.dev node server/server.js",
    "start-test-server": "env-cmd -f .env.test node server/server.js",
    "start-prep-server": "env-cmd -f .env.prep node server/server.js",
    "start-server": "env-cmd -f .env.prod node server/server.js"
  },

Моя цель - запустить приложение с помощью инструмента pm2 на основе конфигурации запуска, которая должна запускать npm run start-server. Это выполнение должно внутренне выполнить последнюю строку в приведенном выше фрагменте, которая является env-cmd -f .env.prod node server / server.js

Я написал конфигурационный файл pm2, а именно my_config.json, чтобы реализовать описанный выше сценарий следующим образом:

my_config.json:

{
  "apps": [
    {
      "name": "ReactFrontEndApp",
      "script": "npm",
      "args": "run start-server"
    }
  ]
}

Наконец, я ввожу в командную консоль следующую команду:

pm2 start my_config.json

Когда выдается указанная выше команда pm2, мое приложение отображается в выходных данных команды pm2 list. Тем не менее, инструмент pm2 также начинает выскакивать одну за другой без конца командные консоли (предыдущая исчезает, а затем появляется следующая). Тем временем я тестировал свое приложение на https: // localhost: 3000 в браузере, но браузер вообще ничего не выводит на мое приложение (т.е. не найдено). Как следствие, я должен остановить свое приложение, используя команду pm2 stop.

ВОПРОС: Может быть, мне что-то не хватает в файле my_config.json, что могло бы вызывать эти последовательные открытия командной консоли? Что могло быть не так?


person F. Aydemir    schedule 09.02.2021    source источник


Ответы (1)


Я предполагаю, что ваш сервер каким-то образом не загружается, возможно, pm2 изменит соответствующие переменные среды.

каков результат pm2 logs 0? что произошло, когда вы запустили npm run start-server вручную? что произошло при запуске pm2 start npm -- run start-server вручную?

person Ohad Cohen    schedule 13.02.2021