我正在使用节点工头加载一些环境变量,例如我的数据库字符串和一些Gmail凭据以发送电子邮件。
我的变量正确地加载到我的本地,但是当部署到Heroku时我无法加载它们。
的package.json
var isResizing = false;
$(function () {
var container = $('#container'),
left = $('#left'),
handle = $('#handle');
container.on('mousemove', function (e) {
isResizing = true;
});
container.on('mouseout', function (e) {
isResizing = false;
});
$(document).on('mousemove', function (e) {
if (!isResizing)
return;
left.css('width', e.clientX - container.offset().left);
handle.css('margin-left', e.clientX - container.offset().left);
});
});
.ENV
{
"name": "mysite",
"version": "1.0.0",
"description": "",
"main": "server.js",
"dependencies": {
"body-parser": "*",
"express": "*",
"foreman": "1.4.1",
"method-override": "*",
"mongoose": "*",
"nodemailer": "*"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nf start"
},
"engines": {
"node": "*"
},
"author": "",
"license": "ISC"
}
Procfile
DB_URL='dbstring'
EMAIL_SERVICE='Gmail'
EMAIL_USERNAME='foo@bar.com'
EMAIL_PASSWORDTOKEN='pwtoken'
节点 - 工头文档说.gitignore它,如果部署到heroku,是否需要撤消?节点工头和Heroku都不会说必须发生,所以我不这么认为。但我没有想法。
在生产中注销的env对象的快照
env
web: node server.js
答案 0 :(得分:4)
对于将来正在读这篇文章的人来说,当我意识到Heroku拥有自己的环境变量集时,我会通过Foreman将使用的cmd /仪表板设置一个“啊哈”时刻。