sofa-config

提供对所有类型config文件的读、写、查方法

Usage no npm install needed!

<script type="module">
  import sofaConfig from 'https://cdn.skypack.dev/sofa-config';
</script>

README

sofa-config

提供对所有类型config文件的读、写、查方法

对外需求

  1. sofa-dev-utils: 获取项目根路径;
  2. sofa-dev-utils: 输出错误、成功信息

提供的方法

注意:以下type只有三种,分别为 -- template、config、glabal

createConfig

  • 功能:生成config文件
  • 参数1:{string} type 必填,文件类型
  • 参数2:{object} data 选填,初始化数据 {key: value}格式
  • 返回:{boolean} 是否生成成功
  • 示例:createConfig('config');

hasLegalConfig

  • 功能:判断是否存在config文件、内容格式(是否有module.exports)是否合规
  • 参数1:{string} type 必填,文件类型
  • 返回:{boolean} 是否合规
  • 示例:hasLegalConfig();

getConfig

  • 功能:获取config文件内容或某个字段
  • 参数1:{string} type 必填,文件类型
  • 参数2:{string} name 选填,字段名称,如果不传则返回config的全部配置
  • 返回:{string|array|object|undefined} 字段或文件的value
  • 示例:getConfig('global', 'db');

setConfig

  • 功能:设置config中的字段
  • 参数1:{string} type 必填,文件类型
  • 参数2:{string} name 必填,字段名称
  • 参数3:{string} value 必填,字段值
  • 返回:{boolean} 是否成功
  • 示例:setConfig('global', 'db', 'test');

transferConfig

  • 功能:create template的时候,将template.config转换成config.js
  • 参数:无
  • 返回:{boolean} 是否成功
  • 示例:transferConfig()

addSthToConfigArr

  • 功能:向template.config中的 某一数组配置项 push配置,比如向modules的配置数组push一个module信息
  • 参数1:{string} key 必填,添加到哪个参数里,注:这个参数对应的值应该是个数组或还没有在template.config中声明
  • 参数2:{object} value 必填,添加的配置项
  • 返回:{boolean} 是否成功
  • 示例:addSthToConfigArr('modules', {name: 'test-module', template: {...}, userConfig: {...}})