How to run npm start without opening browser for react development on linux

Viewed 606

I am learning react and find myself running npm start on the terminal a couple of times but its annoying how it opens a new browser window everytime. I'm trying to stop this from happening on linux.

I found a solution for how to do this on Windows, but how can I do it on Linux?

4 Answers

Adding BROWSER=none to the .env file should get it solved.

If the folder /etc/profile.d doesn't exist create it. Then run touch /etc/profile.d/[any descriptive name here].sh and open it in the text editor of your choice. Then add export BROWSER=none there. Then logout and login again. If it didn't work then try putting export BROWSER="none" in the file. This is setting an environment variable. Hope this helps.

fixed

create a .env file next to your package.json and put BROWSER=none inside

I don't think you need to run npm start so often. I've created my project via create-react-app which comes with Hot Module Reloading or HMR(restarts the server on any saved edit) in-built.

Starting a new React server multiple times can also be problematic as every time it will run on a different port. If you're integrating an API that has CORS set up for a particular port, it won't work on other instances.

What to do?

  1. Create your application using create-react-app(cra) or add HMR using some library if you don't want to use cra. Here is a tutorial for that (haven't tested it).
  2. Always keep a single dev server running. It will automatically reload on code change.
  3. Stop the server by Ctrl + C when you don't want to use it.
Related