前端UI组件复用工具

“懒”是第一辈子产力。css

代码复用老是程序员喜闻乐见的,前端组件化的最终目的就是复用,今天咱们就将深刻探讨如何实现UI组件的复用。html

一般咱们所说的组件每每是包含业务逻辑的前端组件,而这类组件实际上很难实现广义上的复用,顶多能在同一条业务线上复用一下,但UI组件就不同了,没有了业务的约束,只在UI层面上实现复用,那想象空间就很大了,因此这里咱们只讨论UI组件。前端

首先界定一下,UI组件就是一个web界面的前端代码片断,虽说不包含业务,但基本的JS效果是能够有的,好比表单验证、轮播图效果、选项卡效果等等,也就是说UI组件能够包括htmlcssjs。咱们复用的目的并非简单的复制粘贴,而是但愿能够实现必定程度上的自定义,好比界面内容能够调整、显示样式能够调整,甚至JS效果也能够加以设置,这样才算真正有实用价值的组件复用。git

那么咱们就来构思一下如何达到以上目的。首先最核心的就是组件自定义功能,自定义意味着一个组件的htmlcssjs代码均可以被修改,而且编辑过程要所见即所得。这个功能咱们能够借助模板引擎实现,思路是,将组件代码所有用模板语法来写,而后抽出来一份配置数据,模板引擎用这份数据解析模板,就获得了最终浏览器能够运行的代码。修改配置的过程也就是编辑配置数据的过程,编辑后实时调用模板引擎,从新解析获得新的代码,再将代码实时更新到浏览器中,就实现了编辑过程所见即所得。程序员

拆解一下,这个功能大体须要实现如下几个部分:组件代码的获取、配置数据的可视化、模板引擎的调用、配置文件编辑、组件演示、组件html/css/js代码复制。github

再延伸一下,组件代码的自动获取想必要依赖必定的组织规律,那么就要先约定好组件的管理方式。好比约定组件由一个文件夹组成,内部包含temp.html/style.css/script.js三个模板文件,再加上一个config.json配置数据文件。组件应该有一个总的存放文件夹做为组件库,为了能获取到组件的信息,组件库还须要一个目录文件,提供全部组件的列表以及每个组件的信息,这样就能够经过这个目录获取到组件的模板、配置以及任何咱们须要的信息了。web

基于以上分析已经能够着手开发一个UI组件管理工具了,可以实现组件管理、预览、编辑、代码复制功能。json

若是止步于此,那这个工具的实用价值不是很大。围绕前端代码复用,还能够进一步扩展功能,好比是否能够从设计环节就开始参与到前端组件管理呢?由设计师发布并维护公司内部UI组件库,在项目设计阶段,就能够从组件库中挑选基础组件加以调整,并将结果交付给前端,前端只须要将设计师的组件还原,就能够获得能直接用于项目的前端代码了。浏览器

回顾一下,这里面须要组件库实现的功能是,将组件的编辑结果生成一个特殊代码,这个代码用来在管理工具内还原组件的编辑现场,从而实现设计过程到前端开发的交接。这个功能的实现原理是将组件原始配置与所修改配置作合并,获得组件的修改后配置,再用于组件的渲染和展现,就能够还原设计现场了。工具

到这里咱们须要的功能就基本完整了,目前这个工具已经开发完成,并在以上功能的基础上,又增长了用户管理和使用统计,有助于更好的优化组件库建设。

源码:Github
预览:http://refined-x.com/WidgetsPlayground/

若是项目对你有帮助,请去Github尽情的star不要客气。

相关文章
相关标签/搜索