Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

codown-d/low-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

9 Commits

Repository files navigation

umi4 接入 lowcode-engine 方案

前言:
  1. 本文解决了 umi4 利用 qiankun 架构 接入 lowcode-engine 低代码引擎的一系列问题,包含但不限于 lowcode-engine issues ( 3070179614551014423 ...);
  2. 完善了 lowcode-engine 文档中自定义低代码组件不需要发布到 npm 的方案;
  3. 实现了 umi4 接入 lowcode-engine qiankun 部署的方案;
  4. 本文需要知识 node、qiankun、umi4、lowcode-engine、webpack4 && 5、nginx、docker、linux,如果不太熟悉也没关系只是过程中会有些疑问,但是不会影响最终实现;
  5. 本文不会详细解释每一个报错的意思,因为需要的篇幅很长,本项目已经解决完在接入中会出现的报错和问题,大家只需要跟着这篇解决方案走,我会尽量简单化细说每一个步骤。大家可以对照方案中的代码和自己的代码排除出问题所在,或者直接基于此方案进行开发;

[TOC]

1. 准备工作

首先我们可以看到项目中有两个工程,其中 low-code-admin 是 umi4 项目,low-code-engine 是低代码项目,利用微前端架构 qiankun 进行接入。

2.下载依赖

// 项目需要跑在 8000 和 8001 端口
// 推荐包管理器 yarn,因为 low-code-engine demo 项目中有问题 pnpm 不支持
// 有 yarn.lock 锁文件,分别两个项目 yarn
// 需要 node >= 18.18.0
// ../low-code-admin
yarn && yarn dev
// ../low-code-engine
yarn && yarn dev
// 启动成功后打开 8000 端口的 low-code-admin 项目
// 第一次打开 低代码平台会有点慢需要等待 3s 左右

3. 项目展示

首页

低代码平台

低代码预览

4. 项目部署

此项目部署直接使用 qiankun 部署方案,教程使用 场景 1:主应用和微应用部署到同一个服务器(同一个 IP 和端口)

  1. 首先分别将项目打包

    // ../low-code-admin
    yarn bild
    // 部署文件在 ../low-code-admin/dist 目录中
    // ../low-code-engine
    yarn bild
    // 部署文件在 ../low-code-engine/build 目录中
    
  2. nginx 配置(注意 我的 nginx 路径和大家的肯定是不一致的,请根据自己的安装路径进行配置) a) html 文件夹 放入 umi 主应用

    按照 qiankun 部署方案 创建 child 文件夹 放入 低代码应用

    b) nginx conf 配置

    server {
     listen 80;
     listen [::]:80;
     server_name localhost;
     #access_log /var/log/nginx/host.access.log main;
     location / {
     root /usr/share/nginx/html/lowCode;
     index index.html index.htm;
     try_files $uri $uri/ /index.html;
     }
     # ...
  3. 项目配置完成 重启 nginx

  4. 效果展示

    首页

    低代码页面

至此 umi4 接入 lowcode-engine 开发已经部署已经介绍完成,如果不需要自定义组件,就可以点个小星星然后关闭页面了。需要自定义组件请继续往下看 : )

5. 自定义低代码组件开发调试和部署

  1. 自定义低代码组件开发调试

    1. 启动 low-code-material

      可以看到 项目中 有 low-code-material

      // 老样子进入目录使用 yarn 进行包下载以及启动项目
      yarn && lowcode:dev

      项目启动成功后会发下该项目是跑在 3333 端口的,我们并不需要打开 3333 端口。

    2. 打开 http://localhost:8000/low-code-engine/?debug 页面

      我们能看到 成功注入组件的弹框,以及在 组件库中组件的展示

      到这里 自定义组件已经接入进来

      后续对照文档和代码开发业务组件即可

  2. 自定义低代码组件部署

    关于自定义物料官方文档在 开发一个自定义物料 这里,但是官方部署中只提供了 发布到 npm 的方案,没有提供部署至自己服务器的方案,接下来我会介绍如何部署到自己的服务器上使用。

    1. 我们在 low-code-material 目录下执行 lowcode:build 进行打包 打包完成之后会出现 build 文件夹,其中 meta.js 和 view.js 是需要放入服务器的文件(只需要这两个)

    2. meta.js 和 view.js 放入自己的服务器

      我在 child 目录下创建了 low-code-material 目录,并且把两文件上传到 low-code-material 目录下

    3. 确定文件能访问到并且设置 cors 解决跨域问题 确保文件能被访问

      配置 nginx 跨域

       location / {
       root /usr/share/nginx/html/lowCode;
       index index.html index.htm;
       try_files $uri $uri/ /index.html;
      + add_header Access-Control-Allow-Origin *;
      + add_header Access-Control-Allow-Headers *;
      + add_header Access-Control-Allow-Methods "GET, POST, PUT, OPTIONS";
       }
    4. 配置 low-code-engine 中的 assets.json 文件 在 low-code-engine 项目中 src/services 下 我们能看到 assets.js 文件

      assets copy.json 文件可以参考,主要是改 packages 部分和 components 部分

      192.168.200.130 这是我虚拟机服务器的地址,大家只需要吧这个地址改成自己服务器的地址,并且把 assets copy.json 改成 assets.json 重启项目即可

      此时部署已经完成

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /