Skip to content
Appearance
物料同步方案
方案一 (推荐使用)
通过前端脚本上传编辑好的bundle.json文件。
shell
pnpm uploadMaterials注意事项
- bundle.json文件内组件版本version字段为必须字段,缺少的需要补充不然上传接口报错
- bundle.json文件内组件版本version与数据库t_component内version不一致时为新增,一致为更新,也可根据自身需求更改相关代码逻辑
- .env.local中配置访问后端接口的路径,默认java后端路径

方案二
由于当前情况下物料无法通过页面交互维护,提供一个临时方案,由前端托管物料。 在本地运行时提供nodejs脚本维护物料,执行脚本保证mockServer工程和前端工程物料的同步。如果启动了后端服务,还可以连接数据库,保证本地json文件和数据库的一致性。

拆分脚本
shell
pnpm splitMaterials之前对物料的修改要先从大文件bundle.json中找到对应组件,然后进行修改调试,很容易出现找错组件或难以对比历史的情况。 执行该脚本可以将物料资产包拆分为单个组件或区块,再结合构建的脚本,可以将修改限制在相对较小的文件中,便于维护物料和对比变更。
构建脚本
shell
pnpm buildMaterials结合拆分物料的脚本,只关心单个组件的变化。通过读取、写入本地文件和执行 sql 语句,同步更新物料资产包、应用数据和数据库,保证物料的一致性:
- 读取单个组件或区块文件,构建为物料资产包
- 读取单个组件文件,更新应用 mock 数据 appinfo 中的组件数据
- 连接数据库,初始化组件表,将组件数据写入数据库
- 监听组件文件变化,重新构建物料资产包和应用 mock 数据,新增或更新数据库中组件数据
注意事项
- 本地还没有执行过拆分脚本的,先执行一次,后续可以不用再执行,只需要对单个组件进行维护
- 单个组件文件需要遵循物料协议,更新文件后保存即可触发重新构建物料资产包,刷新页面后生效
- 连接数据库失败,不影响构建本地物料资产包即bundle.json
- 连接数据库需要的配置项在
.env.local中 - 数据关联关系可能没有入库,如果查询不到新添加的组件,需要手动在数据库表r_material_component、r_material_history_component添加关联关系数据
部署建议
需要将设计器进行部署时,关于物料的部署方案,以下供参考:
- 将bundle.json上传到CDN或是自己搭建的静态服务器,获得文件地址,修改lowcode.config.js中物料请求地址
- 将bundle.json随设计器一起打包,修改
useResource.fetchMaterial中的实现,物料资产包数据由请求接口改为加载本地文件 - 新增构建物料资产包接口,从数据库获取组件表数据,组装成符合物料协议的物料资产包,将物料资产包的请求方式由CDN地址改为请求接口