config-lite 配置文件中间件

不管是小项目还是大项目,将配置与代码分离是一个非常好的做法。我们通常将配置写到一个配置文件里,如 config.js/config.json ,并放到项目的根目录下。但项目也会分测试环境和线上环境等部署,不同的环境的配置文件不同,我们不可能每次部署时都要去修改引用 config.test.js 或者 config.production.js 。
config-lite 是一个轻量的读取配置文件的模块。config-lite 会根据环境变量(NODE_ENV)的不同从当前执行进程目录下的 config 目录加载不同的配置文件。如果不设置 NODE_ENV,则读取默认的 default 配置文件,如果设置了 NODE_ENV,则会合并指定的配置文件和 default 配置文件作为配置,config-lite 支持 .js、.json、.node、.yml、.yaml 后缀的文件。
如果程序以 NODE_ENV=test node app启动,则 config-lite 会依次降级查找 config/test.js、config/test.json、config/test.node、config/test.yml、config/test.yaml并合并 default 配置; 如果程序以 NODE_ENV=production node app启动,则 config-lite 会依次降级查找 config/production.js、config/production.json、config/production.node、config/production.yml、config/production.yaml 并合并 default 配置。

注意:

如果default.yml中有个对象

 host:
 aaa: www.jianshu.com
 bbb: www.baidu.com
 ccc: www.google.com  

development.yml中对host对象中的其中一个键值重新赋值

  host:
  aaa: www.aaa.com

用NODE_ENV=development命令启动后的host对象,就只有

  host:
  aaa: www.aaa.com

linux启动命令:

    NODE_ENV=production&& node app

windows启动命令:

    set NODE_ENV=development&& supervisor -e node,js,tpl,yml --inspect app

你可能感兴趣的:(config-lite 配置文件中间件)