Как я могу запустить свой сервер узлов и одновременно реагировать на приложение? - PullRequest
0 голосов
/ 23 июня 2019

Я создал API с помощью Express и хочу использовать его на своем интерфейсном сервере, проблема в том, что для того, чтобы мой API работал, я должен постоянно запускать его на сервере. Однако я не могу сделать это одновременно запуская мое приложение реакции. Итак, мой вопрос, как я могу запустить свой сервер реакции и API одновременно?

P.S. Я пытался одновременно, но я не понимаю, как заставить его работать, вот пример кода из моего пакета. Json

    "name": "app",
    "version": "0.1.0",
    "private": true,
    "dependencies": {
    "@material-ui/core": "^4.1.1",
    "@material-ui/icons": "^4.2.0",
    "axios": "^0.19.0",
    "concurrently": "^4.1.0",
    "express": "^4.17.1",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.1"
  },
     "scripts": {
     "start": "node src/connection",
     "build": "react-scripts build",
     "test": "react-scripts test",
     "eject": "react-scripts eject",
     "react": "react-scripts start",
     "dev": "concurrently \"npm start\" \"npm react\""
     },
     "proxy": "http://localhost:3000",
    "eslintConfig": {
    "extends": "react-app"
    },
    "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": []
 }
}```

1 Ответ

0 голосов
/ 24 июня 2019

Установите пакет npm-run-all, который поможет вам выполнить несколько сценариев. Вы можете обратиться по ссылке ниже:

https://www.npmjs.com/package/npm-run-all

После установки этого пакета, В вашем package.json добавьте скрипт следующим образом:

"scripts": {    
  "start-js": "react-scripts start",
  "backend-start": "NODE_ENV=production node node_api/server.js",
  "start": "concurrently \"npm-run-all -p backend-start start-js\"",
  "build": "npm-run-all build-css && react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
}

Здесь, когда вы запускаете команду «npm start», она сначала запускает скрипт «backend-start», который запускает ваш бэкэнд-сервер, а затем начинает реагировать.

Просто измените путь в скрипте "backend-start". замените "node_api / server.js" вашим файлом запуска узла пути

...