I am developing in node.js and wanted to take into account both production and development environment. I found out that setting NODE_ENV while running the node.js server do
Since you are using windows operating system., the command varies from the unix system command that you are using.
In windows you have to modify you script as.
"scripts": {
"start": " SET NODE_ENV=development & node ./bin/server",
"qa2": "SET NODE_ENV=qa2 & node ./bin/server",
"prod": "SET NODE_ENV=production & node ./bin/server"
},
Use SET and then an & after that.
However using cross-env npm package for cross platform stability is recommeded.
Install it like npm install -S cross-env
"scripts": {
"start": " cross-env NODE_ENV=development & node ./bin/server",
"qa2": "cross-env NODE_ENV=qa2 & node ./bin/server",
"prod": "cross-env NODE_ENV=production & node ./bin/server"
},
I can suggest cross platform sollution. It's done with the help of the cross-env npm package. Your script section would look like this:
"scripts": {
"globals" : "npm i -g cross-env",
"start": "cross-env NODE_ENV=development & node ./bin/server",
"qa2": "cross-env NODE_ENV=qa2 & node ./bin/server",
"prod": "cross-env NODE_ENV=production & node ./bin/server"
}
So you run once:
npm run globals // to install global dependencies
Then you're free to use your scripts both on linux and windows(mac?).
Sometimes this can be fixed by using win-node-env if your running on windows, For using it just run the below command.
npm install -g win-node-env