スタックオーバーフローには同じ/同様の質問があることを知っています。ドキュメントも読んでいます。私はまだ何も理解していません。これらの変数とWHEREの設定方法を理解しています。それらを設定します。
私のenv/production.jsファイル:
module.exports = {
"DATABASE_URI": process.env.DATABASE_URI,
"SESSION_SECRET": process.env.SESSION_SECRET,
"Twitter": {
"consumerKey": process.env.Twitter_CONSUMER_KEY,
"consumerSecret": process.env.Twitter_CONSUMER_SECRET,
"callbackUrl": process.env.Twitter_CALLBACK
},
"FACEBOOK": {
"clientID": process.env.FACEBOOK_APP_ID,
"clientSecret": process.env.FACEBOOK_CLIENT_SECRET,
"callbackURL": process.env.FACEBOOK_CALLBACK_URL
},
"GOOGLE": {
"clientID": process.env.GOOGLE_CLIENT_ID,
"clientSecret": process.env.GOOGLE_CLIENT_SECRET,
"callbackURL": process.env.GOOGLE_CALLBACK_URL
},
"LOGGING": true
};
Env/development.jsファイルで変数を設定します(postgres/localhost/xxxにリンクします)。 herokuで作成する必要があったので、すべて(Google、Facebookなど)のためにherokuに設定する必要がありますか、それともデータベースだけに設定する必要がありますか?開発ファイルにローカルデータベースへのリンクを残し、herokuデータベースに個別にリンクしますか?
コマンドラインから実行するかどうかさえわかりません。ドキュメントには次のように書かれています:heroku config:get CONFIG-VAR-NAME -s >> .envだから、heroku config:get CONFIG-NAME OF MY HEROKU DATABASE -s >> .env?
初めてデプロイするので、混乱しています!助けて :)
ドキュメント によると、heroku CLI
$ heroku config:set DATABASE_URI=database_uri_here
$ heroku config:set SESSION_SECRET=session_secret
... and so on for each variable,
または、UI https://dashboard-classic.heroku.com/apps/ {your-app-name}/settingsを使用して、上記のコメントで述べたように、Webインターフェイスを介して同じ変数を提供できます。
NODE_ENV=production
はheroku
によって特別に扱われないため、他のenv変数と同様に提供する必要があります。
ps:厳密に言えば、この質問はプログラミングには関係ないため、実際にはSOに属していません。多分それは [〜#〜] su [〜#〜]に移動する必要がある
使用する:
heroku config:set $(cat .env | sed '/^$/d; /#[[:print:]]*$/d')
.envファイルから設定を設定します。
特に、データベース接続変数はHerokuのenv変数では機能しません。 dotenv を使用し、 Heroku CLI をインストールしてファイルに変数を設定してから、bashを使用することをお勧めします。
heroku login
heroku run bash -a app_name
作成.env
ファイルが存在しない場合は値を追加します
touch .env
echo "ENV_VAR=value" >> .env
ファイルのエントリを確認します
cat .env