データを取得する配列があります。
festivals = ['bonnaroo', 'lollapalooza', 'coachella']
私はherokuを使用しているため、環境変数に置き換える方が良いかもしれませんが、その方法はわかりません。
JSON文字列を環境変数として使用していますか?
このシナリオでは、env varが道であるようには聞こえません。
通常、環境変数を使用して、環境に関するアプリケーション情報を提供したり、動作をカスタマイズしたりします。接続するデータベース、使用する認証トークン、フォークするワーカーの数、レンダリングされたビューをキャッシュするかどうか、等.
あなたの例はモデルに似ているので、おそらくデータベースのようなものがより適しています。
とは言っても、アプリの動作やfestivals
の使用方法に関するコンテキストはないため、env varを使用する必要があることが判明した場合、いくつかのオプションがあります。最も簡単な方法は、おそらくスペースまたはカンマ区切りの文字列を使用することです。
heroku config:set FESTIVALS="bonnaroo lollapalooza coachella"
その後:
var festivals = process.env.FESTIVALS.split(' ');
開示:私はHerokuのNode.jsプラットフォームオーナーです
それはおそらくあなたのデータに依存します。たとえば、値にコンマが含まれない場合は、コンマ区切りのリストにして、コンマで分割するだけです(たとえば、FOO=bar,baz,quux node myapp.js
でアプリを起動し、myapp.js
でvar foo = process.env.FOO.split(',')
を実行します)。
それ以外の場合、入力値がより複雑になる可能性がある場合は、JSONを使用するのがおそらく最も簡単です。
あなたの例は、構成配列よりも列挙に見えます。モデルを使用して保存することを強くお勧めします。
上記の配列を単なる例として参照しており、配列をenvファイルに保存する方法に興味がある場合は-
短い答え:できません。
長い答え:。env変数は文字列ですだから何かのような
BOOLEAN = true
として扱われます
BOOLEAN = "true"
そしてそう
FESTIVALS = ['bonnaroo', 'lollapalooza', 'coachella']
として扱われる
FESTIVALS = "['bonnaroo', 'lollapalooza', 'coachella']"
解決策:
配列を区切り文字列として.envに保存できます
FESTIVALS = "bonnaroo, lollapalooza, coachella"
あなたのjsファイルでは、それを使用して配列に変換できます
var festivals = process.env.FESTIVALS.split(",");