https://segmentfault.com/a/1190000016862735
由于基座项目与插件项目都能做到技术栈无关,ministar 对于用户而言只是一个类似 jQuery 插件系统的库,你需要通过 ministar/runtime
来加载插件与共享依赖组件,然后用 ministar/bundler
来构建插件项目, 即可实现原系统插件化的改造。
微内核的核心目标与微前端一样,是将巨石应用拆解成若干可以自治的松耦合微应用,而 ministar 的诸多设计均是秉持这一原则,除了需要共享的公共依赖与基座项目提供的能力,插件项目拥有自己的上下文,依赖管理,以及相互的通讯机制,这样来保证插件具有独立开发的能力。并保证了与其它依赖共享类型的能力。
使用 /接入
,不论是 React/Vue/Angular/Svelte/JQuery 还是其他等框架。Rollup
进行打包,快! 1
del1214 2021-06-04 08:55:14 +08:00
看来最近这类的项目没少写,大家都在造轮子,支持一下
|
2
musi 2021-06-04 09:07:48 +08:00
看了下大佬的 github 提交记录,直呼牛逼
|
3
Ritter 2021-06-04 10:16:17 +08:00
就是一个插件系统吗
|
4
meloncc 2021-06-04 11:06:17 +08:00
看了一下代码,这个框架与微前端相比,针对的是模块,颗粒度更小,让我联想到可配置工作流的应用场景中适不适用。
|
5
ericgui 2021-06-04 13:08:22 +08:00 via iPhone
这个有点意思
|
6
moonrailgun OP |
7
superliwei 2021-06-04 23:09:20 +08:00
我现在的项目也是插件化的设计,每个插件有自己的作用域,能配置,能设置,支持多语言,多条件编译,能安装能卸载,独立编译。支持树状插件扩展,意思就是插件可以扩展插件。
|
8
9ki 2021-06-05 09:47:31 +08:00
@superliwei 考虑开源出来吗?
|
9
moonrailgun OP @superliwei 插件化的思想并不新鲜,有兴趣交流一下你的项目的实现细节么。
|
10
superliwei 2021-06-07 15:40:28 +08:00
@moonrailgun 我现在的设计也有一问题,我做的是一个实时白板协作系统,系统中有很多的应用和插件,你可以理解都是插件只是不同的形态,有后台运行的,有按需加载的,有需要预加载的。每个应用都有自己的配置文件和多个语言包,还有单独的配置界面,整个交互界面类 iOS 。每个应用需要单独编译。同于不同的用户安装的应用和插件不同,所以我没法把一些文件一起打包,就会造成进入系统需要加载很多小文件,比如每个应用的配置文件,当前应用语言包,应用程序包,素材包等,这样就会大量请求。目前没想到更好的方案能减少请求数。贴一下网址: https://boardos.online
|