跳到主要内容

代码集成

提示

通过本章节,了解如何部署低码产物,集成到主应用中。

1. 主应用准备

主应用支持主流前端框架(如 Vue、React 等),并通过 qiankun 框架加载低代码产物

  1. 准备好主应用项目,确保项目已初始化,且可以正常运行

  2. 安装 qiankun 框架

    npm install qiankun

2. 产物部署

主应用内

低码产物下载至主应用的 ~/public/lowcode 目录下,每个 .html 文件即协作组中构建的一个页面,得到页面相对路径

/lowcode/519366490558533.html

public

服务器单独部署

可直接通过 nginx 部署,得到页面访问链接

http://xxxx/lowcode/519366490558533.html

3. 代码集成

使用 React 集成

示例下载React 集成示例代码

注意 loader 的配置,entry 为产物部署后得到的相对路径/访问链接

/src/router.tsx
import { RouterProvider, redirect, createBrowserRouter } from 'react-router-dom'
const routers = createBrowserRouter([
{
path: '',
loader: () => {
return redirect('/workbench/user')
},
},
{
path: 'workbench',
lazy: () => import('./pages/workbench/workbench'),
children: [
{
path: 'user',
loader: () =>
Promise.resolve({
name: 'user',
entry: '/lowcode/519366490558533.html',
}),
lazy: () => import('./pages/workbench/children/lowcode'),
},
{
path: 'role',
loader: () =>
Promise.resolve({
name: 'role',
entry: '/lowcode/519366566789189.html',
}),
lazy: () => import('./pages/workbench/children/lowcode'),
},
],
},
{
path: '*',
loader: () => {
return redirect('/workbench/user')
},
},
])

export const Routers = () => {
return <RouterProvider router={routers} />
}

使用 Vue3 集成

示例下载Vue3 集成示例代码

/src/router/index.ts
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '',
redirect: '/workbench/user',
},
{
path: '/workbench',
name: 'Workbench',
component: () => import('../views/workbench/work-bench.vue'),
children: [
{
path: 'user',
name: 'User',
component: () => import('../views/workbench/lowcode/low-code.vue'),
meta: {
name: 'user',
entry: '/lowcode/519366490558533.html',
},
},
{
path: 'role',
name: 'Role',
component: () => import('../views/workbench/lowcode/low-code.vue'),
meta: {
name: 'role',
entry: '/lowcode/519366566789189.html',
},
},
],
},
],
})

export default router

使用 Vue2 集成

示例下载Vue2 集成示例代码

/src/router/index.ts
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '',
redirect: '/workbench/user',
},
{
path: '/workbench',
name: 'WorkbenchView',
component: () => import('../views/workbench/work-bench.vue'),
children: [
{
path: 'user',
component: () => import('../views/workbench/lowcode/low-code.vue'),
name: 'User',
meta: {
name: 'User',
entry: '/lowcode/519366490558533.html',
},
},
{
path: 'role',
component: () => import('../views/workbench/lowcode/low-code.vue'),
name: 'Role',
meta: {
name: 'Role',
entry: '/lowcode/519366566789189.html',
},
},
],
},
],
})

长亮系统

集成海牛低代码页面

4. 项目组沉淀主应用

工程:scaffold_front

参考:芋道管理后台