如何在执行脚本时为环境变量添加别名?

时间:2016-07-03 20:41:28

标签: environment-variables

My Node脚本使用环境变量建立与Postgres数据库的连接,称为POSTGRES_CONNECTION

但是,它已部署到Heroku,它命名连接字符串DATABASE_URL

是否有一种优雅的方法可以将DATABASE_URL值“映射”到POSTGRES_CONNECTION,最好是在代码之外?我知道我可以做connectToPostgres(process.env.POSTGRES_CONNECTION ? process.env.POSTGRES_CONNECTION : process.env.DATABASE_URL)之类的事情,但在我看来,我喜欢用特定于环境的配置来污染我的代码,我想避免这种情况。

或者我可以重命名我们的开发变量(POSTGRES_CONNECTION),但考虑到我们还有其他数据库,DATABASE_URL似乎相当通用,并且它已经在几个较低的环境中使用。

1 个答案:

答案 0 :(得分:0)

看起来显而易见,但我提出的最简洁的方法是将别名限制在package.json脚本中,并为Heroku使用不同的脚本。

<强>的package.json

{
  "scripts": {
    "start": "node index.js",
    "heroku": "POSTGRES_CONNECTION=$DATABASE_URL npm start"
  }
}

<强> Procfile

web: npm run heroku