【发布时间】:2018-10-11 20:56:21
【问题描述】:
我的 package.json 中有一些 sn-p 配置:
{
"name": "who-rules-app",
"config": {
"foo": "bar",
"words": [
"tpr",
"rules"
]
},
"scripts": {
"start": "node src/index.js"
}
}
据我所知,人们通常使用process.env['npm_package_${keyname}'] 访问config 键,例如:
process.env['npm_package_config_foo']
//> "bar"
但是当值是一个数组时,你会得到一组扁平的编号键:
process.env['npm_package_config_words_0']
//> "tpr"
process.env['npm_package_config_words_1']
//> "rules"
我总是可以使用fs 从磁盘读取文件,但我的理解是通过process.env 执行操作允许这些东西与环境变量交互,这是处理跨不同环境的配置的一种非常好的方法。
理想情况下,我希望:
process.env['npm_package_config_words']
//> [ "tpr", "rules" ]
有没有更好的方法?那里有一个经过良好测试的模块?很酷的模式?
感谢任何帮助。
【问题讨论】:
-
不确定你是否真的需要在 package.json 文件中包含你的配置,但如果不需要,我通常使用这个库来设置环境变量npmjs.com/package/dotenv
标签: javascript json node.js package.json