我的 package.json 中有一小段配置:
{
"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" ]
有没有更好的方法?一个经过良好测试的模块?很酷的图案?
感谢任何帮助。
最佳答案
不是使用基本上是 process.env hack 的东西,任何最新版本的 Node 都可以开箱即用地加载 .json 文件,所以只需编写如下内容:
let package = require('./package.json');
let config = package.config || {};
let words = config.words || [];
这就是您需要做的所有事情。
关于javascript - 有没有更好的方法来访问 package.json 中的数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50122936/