node.jsnpmpackage.jsonnpm-scripts

How to set environment variables from within package.json?


How to set some environment variables from within package.json to be used with npm start like commands?

Here's what I currently have in my package.json:

{
  ...
  "scripts": {
    "help": "tagove help",
    "start": "tagove start"
  }
  ...
}

I want to set environment variables (like NODE_ENV) in the start script while still being able to start the app with just one command, npm start.


Solution

  • Set the environment variable in the script command:

    ...
    "scripts": {
      "start": "node app.js",
      "test": "NODE_ENV=test mocha --reporter spec"
    },
    ...
    

    Then use process.env.NODE_ENV in your app.

    Note: This is for Mac & Linux only. For Windows refer to the comments.