1

次のスニペットに示すように、package.json で多数のビルドおよび実行タスクを定義した、反応する frontendapp があります。

 "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"
  },

私の目標は、「npm run start-server」を実行する必要がある実行構成に基づいて、pm2 ツールを使用してアプリを実行することです。この実行は、上記のスニペットの最後の行である「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 ファイルに欠けている可能性のあるものはありますか? これにより、コマンド コンソールが連続して開かれる可能性があります。何が間違っている可能性がありますか?

4

1 に答える 1