让Heroku的config vars在node.js中工作

我有一个节点的应用程序,有这样一行:

var ip = process.env.IP || 'http://localhost'; 

我使用passport-facebook节点包来定义来自Facebook身份validation的callback:

 passport.use(new FacebookStrategy({ clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: ip + ":" + port + "/auth/facebook/callback" }, function(accessToken, refreshToken, profile, done) { // asynchronous verification, for effect... process.nextTick(function () { return done(null, profile); }); } )); 

Heroku似乎并不知道process.env.IP所以我继续在Heroku中定义一个config varvariables:

 heroku config:add process.env.IP=http://app.mydomain.com 

debugging服务器我发现ip不是我想要的,但它的http://localhost与我在第一行代码中定义的回退相同。

如何让节点从heroku正确读取configurationvariables?

你想使用heroku config:set IP=http://app.mydomain.com ; 它定义了一个名为IP的环境variables,它可以通过process.env.IP在Node.js中访问。 有关更多信息,请参阅为部署的应用程序设置configurationvariables 。