Search code examples
node.jsnpmnpm-scriptsnpm-startjson-server

npm start json-server in background


I'm trying to have my npm start script run json-server in the background in parallel to then running react-scripts to start UI. How would I go about doing this? I've tried various things with single & and prestart, etc but everything results in json-server starting to watch my db file but then react-scripts doesn't run.

The main 2 which I thought should do the trick are below, but neither work.

  "scripts": {
    "prestart" : "json-server --watch ../sample-db.json --port 3010 --delay 800&",
    "start": "set HTTPS=true&&react-scripts start",

and

  "scripts": {
    "start": "json-server --watch ../sample-db.json --port 3010 --delay 800&set HTTPS=true&&react-scripts start",

Solution

  • Not quite a duplicate, but as indicated by @Max this has a few options:

    How can I run multiple npm scripts in parallel?

    So here's one way:

    "scripts": {
      "start": "set HTTPS=true&&react-scripts start",
      "mockserver": "json-server --watch ../sample-db.json --port 3010 --delay 800",
      "startdev": "concurrently --kill-others \"npm start\" \"npm run mockserver\"",
    }
    

    And I see that on windows I need to use "start" which was why single ampersand wasn't working.