Pour définir l'environnement dans lequel doit s'exécuter votre application Node.js, il suffirait de taper dans une console ouverte à l'endroit où se trouve votre appplication node
set NODE_ENV=production
C'est malheureusement sans effet sur certains postes Windows.
La solution est alors d'ajouter deux petits scripts dans votre package.json
"scripts": {
"start_win_prod": "set NODE_ENV=production&&node index.js",
"start_win_dev": "set NODE_ENV=development&&node index.js"
}
puis de lancer l'un ou l'autre
npm run start_win_dev
ou bien
npm run start_win_prod
Bien évidemment, en production, vous seriez sur un poste Linux. Mais ces commandes vous permettent de faire des tests sur un poste de développement qui serait sour Windows.
Avec nodemon
Et si vous utilisez nodemon pour le redémarrage automatique de votre serveur après une modification de fichier
"scripts": {
"start_win_prod": "set NODE_ENV=production&&nodemon index.js",
"start_win_dev": "set NODE_ENV=development&&nodemon index.js"
}
Le package "cross-env"
Si vous souhaitez utiliser la même commande tant sous Windows, qui utilise "set"
set NODE_ENV=development
que sous Linux (et Mac) qui utilise "export"
export NODE_ENV=development
vous pouvez utiliser le package npm "cross-env"
npm i --save-dev cross-env
cross-env NODE_ENV=production nodemon index.js