Skip to content

wangminhua-fe/dilu

 
 

Repository files navigation

dilu

react react react react

dilu-sdk

的(dí)卢,又作的颅,历史名马,奔跑的速度飞快,背负刘备跳过阔数丈的檀溪,摆脱追兵;

以组件化的方式接入 qiankun(乾坤)微前端框架,支持目前主流的两大技术栈 React 和 Vue,SDK 分别提供了 React、Vue2、Vue3 版本的 SDK;

为什么要组件化?

qiankun(乾坤)在 single-spa 的基础上增加了 JS 沙盒环境,提供了 Html Entry 等能力,降低了接入微前端的接入成本;但是我们中后台业务在接入过程中发现,基于 React、Vue 技术栈,按照 qiankun API 的接入,大家的使用姿势各种各样,没有统一的标准,所以我们采用组件化的方式,基于 qiankun 微前端提供的 API 二次封装,提供路由级子应用和组件级子应用的组件,方便大家使用和接入 qiankun,所以 SDK 分别提供了 React、Vue2、Vue3 版本的 SDK;

以 React 为例,仅需要一个组件即可完成接入

import {createRoot} from 'react/client';
import { DLRouter } from '@ks-dilu/react';


const micros = [{
  activeRule: '/zone';
  entry: 'https://xxx.cdn.com/xx',
  name: 'test1',
},{
  activeRule: '/zone';
  entry: 'https://xxx.cdn.com/xx',
  name: 'test1'
}]

const App = () => {
  return (
    <DLRouter
      fetchMicros={async () => {
        return micros;
      }}
    ></DLRouter>
  );
};

const container = createRoot(document.getElementById('main_root_id'));

container.render(<App/>)

SDK 组成

SDK 提供 React 版本和 Vue 版本,详细说明可以参考各独立 SDK 说明

Examples

example中,有多个示例应用程序和多个已挂载的 Micro FE 应用程序。要使其运行,请首先克隆 dilu-sdk

$ git clone git@github.com:Kwai-Eshop/dilu-example.git
$ cd dilu-example

安装依赖和运行

$ yarn
# 启动react版本的主应用和所有子应用(react版本、vue2版本、vue3版本)
$ npm run example:react
# 启动vue2版本的主应用和所有子应用(react版本、vue2版本、vue3版本)
$ npm run example:vue2
# 启动vue3版本的主应用和所有子应用(react版本、vue2版本、vue3版本)
$ npm run example:vue3

访问 https://localhost:3000/

License

dilu-sdk is MIT licensed.

Contributors ✨

明礼
明礼

💻
louiswu
louiswu

💻
frankylvu
frankylvu

💻
zhongkang
zhongkang

💻
arcluziyang
arcluziyang

💻

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.2%
  • JavaScript 6.1%
  • Less 2.6%
  • Vue 1.6%
  • HTML 0.5%