lowcode-engine
lowcode-engine copied to clipboard
讨论低代码物料包进行版本控制的方案
有没有比较好的,在项目工程中即可实现的物料包版本控制的方案?确保组件更新升级后能不影响原来已经使用旧版本组件的页面?即原有页面使用旧版本组件,新发布页面使用更新后的组件。
现在就是啊,你的组件不是通过版本号升级的吗
我的意思是如何能做到更新后的组件只对后续选择和使用这个组件的页面生效,而原来的页面还是使用历史版本。比如组件A 在v1版本的时候被页面X引用了,后面组件A升级到了v2版本,但是页面X中的组件A 还是保持v1版本的状态,不受后续版本迭代可能带来的影响。而不像现在这样,更新都是线性的,我对一个物料进行了更新,如果产生一个bug,会影响到之前所有已经引入此物料的页面 @zhengzhuang96
一个页面里面的依赖项保存之后,会保存你所使用组价的版本号,下次打开还是打包的你上次保存的版本号,只有重新点击保存之后,依赖的页面才会更新
- 方案 1:把物料信息和组件信息存成一个大的 json 就行:
{
"material": { "packages": [], "components": {} },
"schema": {}
}
- 方案 2: 灵活一点 material 和 schema 存成两个字段,通过pageId等关联起来
方案 1:优点存储少,实现快速;缺点,必须变更整体才能生效 方案 2:优点灵活,物料和视图更新解耦;缺点实现成本高,需要接触后端服务等存储关联信息