cfg Node.js配置管理库

Node.js 的配置管理一直是个老生常谈的问题,用环境变量写配置?挺方便,但维护起来真不省心。cfg这个库就还蛮适合你想快速搞定多环境配置的场景。

配置用config.js集中管理,按环境走分支,结构清晰,逻辑也好理清。比如开发环境跑3000端口,线上就自动用80,配个logsDir路径也能根据环境走不同目录,真挺省事的。

更有意思的是,它支持$env_*这种写法,直接在配置对象里做环境区分。你可以这样写:

module.exports = {
  port: 3000,
  logsDir: `${__dirname}/logs`,
  $env_production: {
    port: 80,
    logsDir: '/home/app/logs',
  },
  $env_test: {
    port: 5000,
  }
}

运行时只要设定NODE_ENV=production,它就自己切换配置,响应也快,代码也简洁。比起自己手动if/else判断环境,真的舒服不少。

想了解更多环境变量相关的做法?可以看看Node.js 环境变量设置那篇文章。还有 NodeConf 的配置管理方案 也蛮值得一看。

如果你手头正好在搭配DockerCI或者需要区分多个运行环境,那这套配置方式你可以试试,省心省力。

zip 文件大小:11.01KB