如何在我的节点构建上设置一些标志

How to set some flags on my node build

当我构建、测试节点应用程序并将其从 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 文件来提供一整套。更多信息在这里:

http://12factor.net/config