sofa-micro

微服务应用模板,引入的是git仓库引用

Usage no npm install needed!

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

README

sofa-micro

微服务应用模板,引入的是git仓库引用

publish micro

发布微服务,配置文件是sofa.config.js,字段如下:

export default config = {
  name: 'common-system-manage',
  type: 'micro',
  isBlank: false,
  isTs: false,
  frame: 'react',
  microsPath: '',
  detail: '',
  exportModules: {},
  importModules: {},
  plugins: {},
};

发布流程

  1. 检验sofa.config.js、config-bridge、package.json文件,以及不允许导出空
  2. 校验git信息(是否安装、是否登录)
  3. 校验子模块git信息,没有git仓库就初始化空仓库,检查本地代码更新与否
  4. 交互-名称确认/获取,校验不重名
  5. 质量检查eslint/tslint配置
  6. 发布micro,参数:(operator,secretKey, path, version=0.0.0 + config)

涉及其他模块的接口

git模块:新增initGit, checkGitClean databse模块:addTemplate需要支持micro类型,getTemplates config;支持类型是micro的getConfig、setConfig

add micro [name]

选择并拉取微服务子模块

添加流程

  1. 校验当前目录下的sofa.config.js文件,包括是否存在和相关字段,解析plugins字段。
  2. 带参数,查询有无此微服务,如果有跳过步骤;没有或无参数查询出所有微服务,让用户选择。
  3. 向sofa.config.js文件中写入导入模板(不能写重复了)
  4. 当前目录下不存在同名文件夹,与db交互获取path
  5. clone代码

以上每一步操作执行后都回调抛出当前可能要执行的hooks操作。

涉及其他模块的接口

git模块:新增clone仓库 databse模块:getTemplates config:支持getconfig字段是复杂类型的数据 dev-utils:

add component

选择和拉取组件,不可修改

添加流程

  1. 查询db,选择组件
  2. 查找components路径
  3. clone代码

以上每一步操作执行后都回调抛出当前可能要执行的hooks操作。

涉及其他模块的接口

git模块:新增clone仓库 databse模块:getTemplates config:支持getconfig字段是复杂类型的数据