创建源码组件
源码组件发布流程
准备工作
- 拥有腾讯云账号;
- 开通云开发低码;
- 安装 Node.js;
- 安装 Cloudbase CLI。
注意
如果 npm install -g @cloudbase/cli
失败,您可能需要修改 npm 权限,或者以系统管理员身份运行:
sudo npm install -g @cloudbase/cli
第 1 步:创建云端组件库
打开 组件库管理 页面,新建组件库 mydemo
。
第 2 步:关联本地组件库
tcb lowcode create mydemo
提示
创建本地组件库使用的标识 mydemo
需要和云端一致,才能关联上云端组件库。
或者使用命令 tcb lowcode create
,通过智能提示来完成关联。
第 3 步:调试本地组件库
cd mydemotcb lowcode debug
执行完以上命令后,会自动打开 调试模式 的应用编辑器,并加载了本地组件库。
第 4 步:发布本地组件库
tcb lowcode publish
提示
发布本地组件库,相当于更新了云端组件库的草稿,还需要到控制台里把草稿发布成正式版本。
第 5 步:发布云端组件库
打开 mydemo
组件库的组件详情页,发布组件库。
第 6 步: 在应用中使用自定义组件库
使用方法和 第 3 步:调试本地组件库 相似,但这是 普通模式 的应用编辑器,编辑完应用可以正常发布。
组件库配置
配置示例
cloudbaserc.json
{ "envId": "{{envId}}", "lowcodeCustomComponents": { "name": "demo", "configRoot": "./src/configs", "platformRoot": { "web": "./src/web", "mp": "./src/mp" } }}
配置参数说明
低码用户只需要关心 lowcodeCustomComponents
下的参数。
name
必填,组件库的标识,用于本地组件库与云端组件库的关联。
configRoot
必填,配置文件的根目录。
组件配置文件与组件图标文件应放在 $configRoot/components 下。
动作配置文件应放在 $configRoot/actions 下。
platformRoot
源码的根目录
platformRoot.mp
小程序源码的根目录
组件源码应放在 ${platformRoot.mp}/components 下。
动作源码应放在 ${platformRoot.mp}/actions 下。
platformRoot.web
#
Web 源码的根目录
组件源码应放在 ${platformRoot.web}/components 下。
动作源码应放在 ${platformRoot.web}/actions 下。
组件配置
配置参数说明
data
选填,组件可以接收的数据, 用作组件入参,需要符合 Json Schema 规范。
低码编辑器也会根据该配置,绘制组件的 数据 面板。
events
选填,组件可以被捕获的事件信息。
低码编辑器也会根据该配置,绘制组件的 事件 面板的 触发条件 。
meta
选填,仅用于在低码平台的信息展示。
meta.title
选填, 组件别名, 建议用中文。
meta.description
选填, 组件简介, 建议用中文。
meta.icon
选填, 组件图标, 暂时只支持本地图片。
meta.category
选填, 组件分类, 建议用中文。
meta.componentOrder
选填, 组件的排序权重。
配置示例
"$schema": "https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json",
"data": {
"type": "object",
"properties": {
"text": {
"title": "按钮文字",
"default": "按钮",
"type": "string"
},
"size": {
"title": "按钮大小",
"type": "string",
"default": "default",
"x-component": "radio",
"enum": [
{
"label": "default",
"value": "default"
},
{
"label": "mini",
"value": "mini"
}
]
},
"type": {
"title": "按钮类型",
"type": "string",
"default": "primary",
"x-component": "radio",
"enum": [
{
"label": "default",
"value": "default"
},
{
"label": "primary",
"value": "primary"
},
{
"label": "warn",
"value": "warn"
}
]
},
"loading": {
"title": "加载中",
"type": "boolean",
"default": false
},
"disabled": {
"title": "禁用",
"type": "boolean",
"default": false
},
"plain": {
"title": "镂空",
"type": "boolean",
"default": false
}
}
},
"events": [{ "name": "customevent", "title": "自定义事件" }],
"meta": {
"title": "按钮",
"description": "按钮组件,兼容小程序和H5平台",
"icon": "./icon.svg",
"category": "表单",
"componentOrder": 1
}
}
动作配置
配置参数说明
data
选填, 动作可以接收的数据,需要符合 Json Schema 规范。
低码编辑器也会根据该配置,绘制组件的 事件 面板的 已添加动作 。
meta
选填,仅用于在低码平台的信息展示
meta.title
选填, 动作的别名, 建议用中文
meta.description
选填, 动作的简介, 建议用中文
配置示例
{
"$schema": "https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_action.json",
"data": {
"type": "object",
"properties": {
"title": {
"title": "标题",
"type": "string",
"default": "提示的内容"
},
"icon": {
"title": "图标",
"type": "string",
"default": "success",
"x-component": "radio",
"enum": [
{
"label": "success",
"value": "success"
},
{
"label": "loading",
"value": "loading"
},
{
"label": "none",
"value": "none"
}
]
},
"duration": {
"title": "提示的延迟时间",
"type": "number",
"default": 1500
}
}
},
"meta": {
"title": "自定义提示",
"description": "自定义提示"
}
}
√ 关联云端组件库: · lowcode
√ 请选择组件库模板 · default
√ 组件库 - 下载模板成功
√ 组件库 - 依赖安装成功
√ 组件库 - 创建成功
i 👉 执行命令 cd lowcode 进入文件夹
i 👉 执行命令 tcb lowcode debug 调试组件库
i 👉 执行命令 tcb lowcode publish 发布组件库
i 组件库 - 清空上次构建内容de
i 组件库 - 组件配置识别
i 组件库 - 组件源码识别(web)cb lowcode debug
i 组件库 - 组件源码识别(mp)
i 组件库 - 启动调试服务器
TypeError: The 'compilation' argument must be an instance of Compilation
at Function.getCompilationHooks (C:\Users\王\AppData\Roaming\npm\node_modules\@cloudbase\cli\node_modules\webpack\lib\NormalModule.js:227:10)
at C:\Users\王\AppData\Roaming\npm\node_modules\@cloudbase\cli\node_modules\vue-loader\lib\plugin-webpack5.js:50:47
补充一下过程情况
√关联云端组件库: · lowcode
√ 请选择组件库模板 · default
√ 组件库 - 下载模板成功
√ 组件库 - 依赖安装成功
√ 组件库 - 创建成功
i 👉 执行命令 cd lowcode 进入文件夹
i 👉 执行命令 tcb lowcode debug 调试组件库
i 👉 执行命令 tcb lowcode publish 发布组件库
C:\lowcode\lowcode>
我按照上边一步一步做下来,到“第 3 步:调试本地组件库时候“
cd mydemotcb lowcode debug
出现下面的错误“TypeError: The 'compilation' argument must be an instance of Compilation”,试了网上很多相关办法,都没效果,依然是同一个提示,求解决办法,着急!谢谢!