SmartJS 第一期(0.1)发布 - AOP三剑客

时间:2022-06-04 06:10:50

隔了好久才终于又发布了一点东西,SmartJS是最近才开始搞的一个开源js库,目的是做一些比较有特点的事情(smartjs暂时也是依赖于jquery)。

SmartJS的内容规划比较多,也无法在短时间全部完成,目前就以小版本一个个功能累加。

第一期0.1版发布的内容主要是实现前端面向切面编程(AOP)的一些支持。

  1. PromiseEvent

  基于事件和promise的回调管理,类似于jquery的callbacks,但具有结果传递,优先级,事件参数,promise控制等功能

  2. Trigger

  触发器,在对象上应用触发器(aop)功能,目标对象会具有方法注入功能(基于promiseEvent),注入的类型有before,after和round环绕三种;

  3. FlowController

  流程/生命周期控制器,控制流程的执行和流转,基于Trigger

  4. 常用方法;

  //合并默认数据方法,将obj中空的内容从defObj中复制;与jquery的$.extend不通,只会加入不存在的数据
  st.mergeObj(deep, obj, defObj, exclude)

  //在目标对象方法中注入方法,返回结果
  st.injectFn(target, name, fn, before,stopOnFalse)

  //合并方法,返回结果
  st.mergeFn(fn, mergeFn,stopOnFalse)

另外声明一下,十分抱歉,以前承诺的smartUI2.0一直没有完成,想法一直在变,而且这两年发现自己能支配的时间也越来越少。不过smartjs后续规划中也会有ui方面的内容,也相当于将smartUI并于Smartjs中。

后期预告:smartjs 0.2版中,会加入oop支持的一些内容。

最后附上地址smart地址,里面有比较丰富的测试用例,api的话后续会更新博客逐一说明。