我知道在堆栈溢出上有相同/相似的问题,我也读过文档-我只是仍然不明白任何事情-如何设置这些变量和在哪里!!设置它们。
我的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文件中我设置了变量(链接到我的PostgreSQL/localhost/xxx)。我需要在Heroku中为所有(Google,Facebook等)设置变量还是只为数据库设置变量,因为我必须用Heroku创建一个变量?我需要在我的开发文件中保留到我的本地数据库的链接,并单独链接到Heroku数据库吗?
我甚至不知道我是否应该从我的命令行做它?!在文档中它说:Heroku配置:获取配置变量名称-s〉〉.env,那么它会是Heroku config:get CONFIG-NAME OF MY HEROKU DATABASE -s >> .env
吗?
我第一次部署,所以困惑!帮助:)
6条答案
按热度按时间rsl1atfo1#
根据documentation,您可以使用
heroku CLI
或者您可以使用UIhttps://dashboard-classic.heroku.com/apps/{your-app-name}/settings并通过Web界面提供相同的变量,正如我在上面的注解中提到的
heroku
不会对NODE_ENV=production
进行特殊处理,因此您需要提供它以及任何其他env变量2eafrhcq2#
从.env文件设置配置
wqsoz72f3#
特别是数据库连接变量将无法通过Heroku env变量工作。我建议使用dotenv,并通过安装Heroku CLI将变量设置到文件中,然后使用bash:
如果
.env
文件不存在,则创建该文件并向其添加值确认文件中的条目
pkln4tw64#
Heroku现在会在您添加PostgreSQL加载项时自动设置
DATABASE_URL
环境变量然后,可以在以下目录下看到此变量,它位于其他环境变量(可能是手动定义的)的旁边:
添加的变量已经包含秘密身份验证信息,因此您应该直接使用它。
如何使用Sequelize
我刚刚管理了一个使用Sequelize的工作解决方案,如以下网址所述:使用Sequelize在Heroku上部署FeathersJS应用程序,您基本上只需要执行以下操作:
如以下网址所述:Can't connect to heroku postgresql database from local node app with sequelize
c0vxltue5#
在Heroku CLI中登录:
列出所有应用程序:
大量导出环境变量
zazmityj6#
另一个选项:
$ heroku login
然后编辑所有配置变量:
$ VISUAL="emacs" heroku config:edit -a <app_name>
这将打开emacs,在这里你可以复制/粘贴整个
.env
内容。然后保存并退出(Ctrl+x Ctrl+s,Ctrl+x Ctrl+c)。