不管是小项目还是大项目,将配置与代码分离是一个非常好的做法。我们通常将配置写到一个配置文件里,如 config.js/config.json ,并放到项目的根目录下。但项目也会分测试环境和线上环境等部署,不同的环境的配置文件不同,我们不可能每次部署时都要去修改引用 config.test.js 或者 config.production.js 。config-lite 模块正是你需要的,config-lite 模块会根据环境变量(NODE_ENV)的不同加载不同的配置文件而无需修改任何代码。默认加载当前执行进程所在目录下的 config 目录,如程序以 NODE_ENV=test node app
启动,则通过 require('config-lite')
会依次降级查找 config/test.js、 config/test.json、config/test.node、config/test.yml、config/test.yaml 并加载; 如程序以 NODE_ENV=production node app
启动,则通过 require('config-lite')
会依次降级查找 config/production.js、 config/production.json、config/production.node、config/production.yml、config/production.yaml 并加载。