【发布时间】:2016-06-04 17:39:07
【问题描述】:
我正在使用节点工头加载一些环境变量,例如我的数据库字符串和一些 Gmail 凭据以发送电子邮件。
我的变量已正确加载到本地,但在部署到 Heroku 时无法加载。
package.json
{
"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"
}
.env
DB_URL='dbstring'
EMAIL_SERVICE='Gmail'
EMAIL_USERNAME='foo@bar.com'
EMAIL_PASSWORDTOKEN='pwtoken'
过程文件
web: node server.js
node-foreman 文档对 .gitignore 说,如果部署到 heroku,这需要撤消吗?节点工头和 Heroku 都没有说必须发生,所以我不认为。但我没有想法。
环境对象在生产环境下的快照
环境
{ WEB_MEMORY: '512',
PATH: '/app/.heroku/node/bin:/usr/local/bin:/usr/bin:/bin:/app/bin:/app/node_modules/.bin',
WEB_CONCURRENCY: '1',
PWD: '/app',
NODE_ENV: 'production',
PS1: '\\[\\033[01;34m\\]\\w\\[\\033[00m\\] \\[\\033[01;32m\\]$ \\[\\033[00m\\]',
SHLVL: '1',
HOME: '/app',
NODE_HOME: '/app/.heroku/node',
PORT: '34225',
_: '/app/.heroku/node/bin/node' }
【问题讨论】: