
confman 是一个强大的配置文件加载器,无论你喜欢 yaml 、 cson 、 json 、 properties 、 plist 、 ini 、 toml 、 xml 还是 js ,都能满足你的愿望,并且更加简单、更加强大。
$ npm install confman --save 目录
app ├── index.js ├── config.dev.yaml ├── config.prod.yaml └── config.yaml index.js
const cOnfman= require('confman'); const cOnfigs= confman.load(`${__dirname}/config`); console.log(configs); 启动应用
$ NODE_ENV=prod node index.js 通过指定 NODE_ENV 可以加载指定的「环境配置文件 config.prod.ymal 」,并和「默认配置 config.yaml 」进行合并, 如果有相同的配置,「环境配置会覆盖默认配置」
文件一: test1.yaml
name: test1 #可以使用 $require 引用其它文件 child: $requrie ./test2 文件二: test2.json
{ "name": "test2", "child": "$require other-file" } $require 可以在任意支持的格式的配置文件中使用
目录结构
├── config │ ├── conn.yaml │ ├── index.yaml │ └── mvc.yaml ├── config.dev │ └── conn.yaml ├── config.prod │ └── conn.yaml └── index.js index.js
const cOnfman= require('confman'); const cOnfigs= confman.load(`${__dirname}/config`); console.log(configs); 其实,多数情况你不需要这么做,如果确实有需要,你可这样编写一个自定义 loader
module.exports = { extname: '.xxx', load: function (configPath) { //... return configs; } }; 添加自定义 loader
confman.loaders.push(require('your-loader-path')); 方式一,映射到一个已经支持(添加注册到 confman )的 loader
confman.loaders.push({ extname: '.xxx', loader: '.yaml' }); 方式二,映射到一个自定义 loader
confman.loaders.push({ extname: '.xxx', loader: require('your-loader-path') }); 现在或来有可能会用到?那你应该去加个 Star
GitHub : https://github.com/Houfeng/confman
1 phoenixlzx 2016 年 7 月 26 日 star 已送 |