Tag: nconf

将对象附加到Node.js进程

我正在使用环境variables和参数parsing模块nconf作为我的node.js Express web服务器。 https://github.com/indexzero/nconf 我决定让nconf数据全局化的最好方法是简单地将它附加到stream程variables(如process.env中),这是个好主意还是坏主意? 它会减慢执行过程中的“过程”吗? 这是我的代码: var nconf = require('nconf'); nconf.argv() .env() .file({ file: './config/config.json' }); nconf.defaults({ 'http': { 'port': 3000 } }); process.nconf = nconf; //now I can retrieve config settings anywhere like so process.nconf.get('key'); 坦率地说,我有点像这个解决scheme。 现在我可以在任何地方检索configuration数据,而不需要一个模块。 但是这样做可能有缺点,而且这可能是一个非常糟糕的主意。 IDK。

如何在命令行上将分层configuration值传递给nconf?

冒号分隔nconf层次结构,例如, { "AUTH": { "ENABLED": true } } 通过访问 nconf.get("AUTH:ENABLED"); 我想通过在npm start下的环境和/或命令行选项覆盖这个,例如, AUTH:ENABLED=false npm start 由于冒号,这在bash和zsh下都失败了。 用\逃避冒号并没有帮助。 以下情况在所有情况下都不合格(等级与否): npm start –AUTH:ENABLED=false 我怎么能通过一个有效的方式通过nconf / optimist分层configuration值?

使用NCONF捕获命令行参数

我有一个简单的node.js后端脚本,我想捕获命令行参数以及来自config.json文件和环境variables的键/值。 第二个我没有问题,但我有几乎莫名其妙的捕获命令行参数的麻烦。 我可以这样捕获命令行参数: var nconf = require('nconf'); nconf.argv().env().file({file: './config.json'}); var csvFilePath = nconf.argv().get()._[0]; // var csvFilePath = process.argv[2]; var csvType = nconf.argv().get()._[1]; // var csvType = process.argv[3]; 这两个调用相当于process.argv [index],只是索引被改变了。 必须有更直接的方法来捕获命令行参数,但即使debugging并查看nconf产生的variables,我仍然无法弄清楚。 有nconf经验的人都在意帮忙吗?