2015-07-22 17 views

Odpowiedz

19

W tym scenariuszu nie brzmi jak env var jest drogą do zrobienia.

Zazwyczaj warto użyć zmiennych środowiskowych, aby przekazać aplikacji informacje o jej środowisku lub dostosować jego zachowanie: do której bazy danych należy się podłączyć, które tokeny autoryzacji należy użyć, ilu pracowników do rozwidlenia, czy nie cache renderowane widoki, itp.

Twój przykład wygląda bardziej jak model, więc coś w rodzaju bazy danych prawdopodobnie lepiej pasuje.

Powiedziawszy, nie ma kontekstu wokół tego, co robi twoja aplikacja lub jak używa festivals, więc jeśli okaże się, że powinieneś użyć env var, to masz kilka opcji. Najprostszy jest prawdopodobnie wystarczy użyć spacji lub ciąg rozdzielany przecinkami:

heroku config:set FESTIVALS="bonnaroo lollapalooza coachella" 

następnie:

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

ujawnienie: Jestem node.js Platform Owner Heroku

1

Prawdopodobnie zależy to od twoich danych. Na przykład, jeśli żadna z wartości nigdy nie będzie zawierała przecinków, możesz po prostu utworzyć listę rozdzielaną przecinkami, a następnie podzielić na przecinek (np. Uruchamiając aplikację pod numerem FOO=bar,baz,quux node myapp.js, a następnie wykonując var foo = process.env.FOO.split(',') w myapp.js).

W przeciwnym razie, jeśli wartości wejściowe mogą być bardziej złożone, JSON będzie najprawdopodobniej najłatwiejszy w obsłudze.

Powiązane problemy