阿里巴巴低代码引擎————自定义物料并发布

物料开发

项目初始化

1.lowcode官方给我们提供了脚手架,我们通过脚手架可以快速创建

js 复制代码
npm init @alilc/element lowcode-app-material // lowcode-app-material项目名称

2.我们选择物料【组件/物料】类型,包的模式选择react-组件库,因为这里我们要存放多个组件。

3.安装依赖

js 复制代码
cnpm install

4.启动调试环境

js 复制代码
npm run lowcode:dev

5.开发自己的组件

6.发布组件

package.json 文件中修改配置

js 复制代码
{
    ...
    "name": "@lineng/my-lowcode-app-material", // 举个例子;
    "version": "0.1.2", // 每次发布记得调整;
    "private": false,
    ...
    "publishconfig": {
        "access": "public",
        "registry": "https://registry.npmjs.org/"
    },
    ...
}
js 复制代码
npm run lowcode:build --registry=https://registry.npmmirror.com/   // 构建;

npm config set registry https://registry.npmjs.org/    // 如果源不对,使用该命令切换源;

npm publish --access=public   // 发布;

7.在引擎中使用我们自己的组件

src --> services --> assets.json

发布后可以在自己的自定义物料组件项目里找到 build/lowcode/assets-prod.json ,重点关注 packagescomponents 的部分:

js 复制代码
{
    "packages": [
        {
          "package": "card-component-demo",
          "version": "0.1.1",
          "library": "BizComp",
          "urls": [
            "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/render/default/view.js",
            "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/render/default/view.css"
          ],
          "editUrls": [
            "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/view.js",
            "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/view.css"
          ],
          "advancedUrls": {
            "default": [
              "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/render/default/view.js",
              "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/render/default/view.css"
            ]
          },
          "advancedEditUrls": {}
        }
      ],
  "components": [
    {
      "exportName": "CardComponentDemoMeta",
      "npm": {
        "package": "card-component-demo",
        "version": "0.1.1"
      },
      "url": "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/meta.js",
      "urls": {
        "default": "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/meta.js"
      },
      "advancedUrls": {
        "default": [
          "https://unpkg.com/card-component-demo@0.1.1/build/lowcode/meta.js"
        ]
      }
    }
  ],
}

分别将 packagescomponents 里的代码 merge 到 demo项目里的 assets.json 中,最好放到最后,防止因为资源加载顺序问题导致出现报错。

启动引擎项目,自定义组件即可成功加载进来。

拓展

阿里低代码框架 lowcode-engine 之自定义物料篇
阿里低代码引擎实战】--- 自定义物料接入demo(内含npm发包详细步骤)\

相关推荐
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
canonical_entropy2 天前
AI Agent 的演进之路:从对话到自主代理操作系统
低代码·aigc·agent
Java小卷3 天前
流程设计器为啥选择diagram-js
前端·低代码·工作流引擎
一枚前端小姐姐5 天前
低代码平台表单设计系统技术分析(实战三)
前端·vue.js·低代码
一枚前端小姐姐5 天前
低代码平台表单设计系统技术分析(实战二)
低代码·架构·前端框架
一枚前端小姐姐5 天前
低代码平台表单设计系统架构分析(实战一)
前端·低代码·架构
麦聪聊数据6 天前
统一 Web SQL 平台如何收编企业内部的“野生数据看板”?
数据库·sql·低代码·微服务·架构
canonical_entropy6 天前
当复杂性被显式化:Nop平台的认知经济学
后端·低代码·aigc
麦聪聊数据6 天前
数据流通的最后一公里:SQL2API 在企业数据市场中的履约架构实践
数据库·sql·低代码·微服务·架构