当我构建、测试并将我的节点应用程序从 Codeship 部署到 Heroku 时,我希望能够在构建期间使用命令行将发布标志设置为 true。在我的代码中,我想做这样的事情......
if(config.release) load(liveConnection);
else load(debugConnection);
我怎样才能做到这一点?我是否安装了某种软件包来运行构建脚本来转换我的配置文件?
您应该使用环境变量,而不是使用配置文件。例如:
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
文件来提供一整套。更多信息在这里: