0

当我构建、测试并将我的节点应用程序从 Codeship 部署到 Heroku 时,我希望能够在构建期间使用命令行将发布标志设置为 true。在我的代码中,我想做这样的事情......

if(config.release) load(liveConnection);
else load(debugConnection);

我怎样才能做到这一点?我是否安装了某种软件包来运行构建脚本来转换我的配置文件?

4

1 回答 1

0

您应该使用环境变量,而不是使用配置文件。例如:

heroku config:set NODE_ENV=production

然后,在节点中:

if (process.env.NODE_ENV === 'production') load(etc);

更好的方法是通过配置文件统一提供连接信息,如下所示:

heroku config:set CONNECTION_STRING=foo

然后在节点中:

load(process.env.CONNECTION_STRING);

这样,环境就提供了配置。在本地,您可以使用开发字符串(如 )启动应用程序CONNECTION_STRING=some_debug_string node server.js,也可以使用.env文件来提供一整套。更多信息在这里:

http://12factor.net/config

于 2015-05-07T05:52:06.977 回答