让 Heroku 的配置变量在节点中工作.js



我有一个具有这样的行的节点应用:

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

我将其与passport-facebook节点软件包一起使用以定义Facebook身份验证的回调:

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 var

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

调试服务器我看到IP不是我想要的,而是http://localhost,与我定义为第一行代码中的后备。

如何获得节点以从Heroku正确读取配置var?

您要使用 heroku config:set IP=http://app.mydomain.com;它定义了一个称为 IP的环境变量,您可以通过 process.env.IP在node.js访问它。有关更多信息,请参见为已部署应用程序设置配置vars。

最新更新