在Node.js中读取环境variables

有没有一种方法可以读取Node.js代码中的环境variables?

就像Python的os.environ['HOME']

 process.env.ENV_VARIABLE 

其中ENV_VARIABLE是您希望访问的variables的名称。

请参阅process.env Node.js文档 。

使用Node.js时 ,您可以通过process.env对象的键来检索环境variables:

例如

 var mode = process.env.NODE_ENV; var apiKey = process.env.apiKey; // '42348901293989849243' 

这里是解释在node.js中设置环境variables的答案

如果你想使用在你的Node.js程序中生成的string键,比如var v = 'HOME' ,你可以使用process.env[v]

否则, process.env.VARNAME必须在程序中进行硬编码。

你们也可以使用我最近写的一个图书馆。

在阅读环境variables时,它给你一堆很好的select:

  • 通过前缀或自定义过滤function对其进行过滤。
  • 将环境variables名称转换为camelcase,小写或自定义格式。
  • 将环境variables值parsing为有效的数据types(int,float,bool等)。

我希望你喜欢它。

你可以检查存储库的更多细节: https : //github.com/yatki/read-env

基本例子

假设您有一些以“EXAMPLE_”前缀开头的环境variables,如下所示:

 EXAMPLE_OBJECT_KEY= '{"prop": "value"}', EXAMPLE_ARRAY_KEY= '[1,2,3, "string", {"prop": "value"}, 5.2]', EXAMPLE_TRUE_KEY= 'true', EXAMPLE_FALSE_KEY= 'false', EXAMPLE_INT_KEY= '5', EXAMPLE_FLOAT_KEY= '5.2', EXAMPLE_STRING_KEY= 'example', 

您-app.js:

 import readEnv from 'read-env'; const options = readEnv('EXAMPLE'); console.log(options); 

输出:

 { arrayKey: [ 1, 2, 3, 'string', { prop: 'value' }, 5.2 ], falseKey: false, floatKey: 5.2, intKey: 5, objectKey: { prop: 'value' }, stringKey: 'example', trueKey: true } 

按照原样读取所有环境variables:

 const options = readEnv({ transformKey: false, parse: false, });