fes design for vue3
fes.js 现状
Fes 本身有存在一些设计上的不足。我们把太多的能力强耦合进 fes-core 里面,例如项目布局、全局状态管理、权限管理等。因为是和 fes-core 强耦合的,有时候想换个布局方式变得不可能。有些项目不需要全局状态管理也被强打包进去。或者想扩展一些能力,例如增加换肤,也只能去改 fes-core,扩展能力不足。fes-plugin 的设计也有类似的问题,因为前期考虑的一些不足,和 fes-core 也有强依赖管理,新增、移除plugin都很麻烦。
借机Vue3.0的升级,Fes 准备进行一次大的重构,提升 Fes 的扩展能力。
fes.js for vue3
重新设计之后我们希望 fes-core 更轻量,大部分能力通过 plugin 去扩展,然后把 storage、DOM 操作函数等功能函数独立出来作为一个 utils 库,让“上帝的归上帝,凯撒的归凯撒”。
那么 fes-core 应该承载的职责是什么呢?
我们认为有三个就够了,一个应用的初始化,一个路由管理,一个 plugin 管理。项目布局、权限管理、国际化等等全部通过插件去实现。这样做的好处在于,如果用户想换一种布局方式,换一个插件就好了。如果用户想实现换肤的能力,写一个插件就好了,不需要改动 fes-core,这样也使得 Fes 更健壮,能力更强大。
大体框架已经搭好。在 vue3 分支。
欢迎大家参与进来一起完善。
fes-ui 能不能加入 theme 相关配置 参照 https://element.eleme.io/#/en-US/theme
@pengliheng 升级 vue3 后会加上