javascript - 有没有更好的方法来访问 package.json 中的数组数据
问题描述
我的 package.json 中有一小段配置:
{
"name": "who-rules-app",
"config": {
"foo": "bar",
"words": [
"tpr",
"rules"
]
},
"scripts": {
"start": "node src/index.js"
}
}
据我所知,人们通常使用 访问config
密钥process.env['npm_package_${keyname}']
,例如:
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 || [];
这就是您需要做的所有事情。
推荐阅读
- java - 如何解决 NotOfficeXmlFileException
- reactjs - 如何将状态附加到数组
- swift - 在 Swift 中为 iOS 应用程序实现 Facebook Audien Network 广告
- reactjs - 为什么 AsyncTypeahead 不呈现我的选项?
- java - Java - 将数组元素与传递的 int 进行比较以查看是否相同时,if 语句失败
- python-3.x - Python3在有互联网连接时运行功能+每x分钟检查一次连接
- java - 如何将 json 文本文件解析为 BasicDBobject
- flutter - 如何更改 Flutter 中的默认字体系列
- javascript - JS 惯用的 alert() 没有搞砸 HTML 渲染
- java - 使用 Docx4j 从 XML 转换为 Docx