La définition d'un tableau comme une variable d'environnement dans le nœud.js

j'ai un tableau à partir duquel je tire des données.

festivals = ['bonnaroo', 'lollapalooza', 'coachella']

depuis que j'utilise heroku, il peut être préférable de le remplacer par une variable d'environnement, mais je ne suis pas sûr de savoir comment faire.

l'utilisation d'une chaîne JSON comme variable d'environnement est-elle la solution?

13
demandé sur paranoidhominid 2015-07-22 03:56:15

2 réponses

dans ce scénario, il ne semble pas qu'un env var soit la solution.

habituellement, vous voudrez utiliser des variables d'environnement pour donner à votre application des informations sur son environnement ou pour personnaliser son comportement: à quelle base de données vous connecter, quels jetons auth utiliser, combien de travailleurs bifurquer, si oui ou non mettre en cache les vues rendues, etc.

votre exemple ressemble plus à un modèle, donc quelque chose comme une base de données est probablement mieux adapté.

cela dit, il n'y a aucun contexte autour de ce que votre application fait ou comment il utilise festivals donc si elle ne s'avérer que vous devez utiliser une env var, alors vous avez plusieurs options. Le plus simple est probablement d'utiliser un espace ou une chaîne délimitée par des virgules:

heroku config:set FESTIVALS="bonnaroo lollapalooza coachella"

puis:

var festivals = process.env.FESTIVALS.split(' ');

divulgation: je suis le Nœud.propriétaire de la plateforme js à Heroku!--15-->

29
répondu hunterloftis 2015-07-22 01:44:21

cela dépend probablement de vos données. Par exemple, si aucune des valeurs ne contient de virgule, Vous pouvez simplement en faire une liste séparée par une virgule et ensuite la diviser sur une virgule (Par exemple démarrer votre application avec FOO=bar,baz,quux node myapp.js en faisant var foo = process.env.FOO.split(',')