在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, });