У меня есть 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, что могло бы вызывать эти последовательные открытия командной консоли? Что могло быть не так?